USACO 5.2.2
2011-02-12 18:02
260 查看
还是比较水的一题
枚举+KMP
+++++++++++++++++++++++++++++++源程序+++++++++++++++++++++++++++++++#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int maxn=100001;
char str[maxn];
int l,i,j=1,k,t;
void init(){
scanf("%d/n",&l);
for(i=0;gets(str+i);i+=72);
i=0;
}
void work(){
while(i<l&&j<l&&k<l){
t=str[(i+k)>=l?i+k-l:i+k]-str[(j+k)>=l?j+k-l:j+k];
if(!t)k++;
else{
if(t>0)i+=k+1;
else j+=k+1;
if(i==j)j++;
k=0;
}
}
}
void print(){
printf("%d/n",i<j?i:j);
}
int main(){
freopen("hidden.in","r",stdin);
freopen("hidden.out","w",stdout);
init();
work();
print();
return 0;
}
枚举+KMP
+++++++++++++++++++++++++++++++源程序+++++++++++++++++++++++++++++++#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int maxn=100001;
char str[maxn];
int l,i,j=1,k,t;
void init(){
scanf("%d/n",&l);
for(i=0;gets(str+i);i+=72);
i=0;
}
void work(){
while(i<l&&j<l&&k<l){
t=str[(i+k)>=l?i+k-l:i+k]-str[(j+k)>=l?j+k-l:j+k];
if(!t)k++;
else{
if(t>0)i+=k+1;
else j+=k+1;
if(i==j)j++;
k=0;
}
}
}
void print(){
printf("%d/n",i<j?i:j);
}
int main(){
freopen("hidden.in","r",stdin);
freopen("hidden.out","w",stdout);
init();
work();
print();
return 0;
}
相关文章推荐
- usaco 5.2.2 Electric Fences
- [USACO5.2.2 Electric Fences]
- USACO 5.2.2 fence3
- usaco traini 5.2.2 Electric Fences 题解
- [USACO 1.2.4]回文平方数
- [最大生成树] BZOJ 3943 [Usaco2015 Feb]SuperBull
- [BZOJ] 1611: [Usaco2008 Feb]Meteor Shower流星雨
- usaco 1.3 Packing Rectangle
- usaco 3.1 agrinet 2008.7.16
- BZOJ 4742 [Usaco2016 Dec]Team Building 动态规划
- USACO1.5.2--Prime Palindromes
- usaco 3.3 fence 2008.11.7
- [BZOJ] 1646: [Usaco2007 Open]Catch That Cow 抓住那只牛
- USACO2.3.4--Money Systems
- BZOJ 1653 USACO 2006 Feb Backward Digit Sums 全排列
- BZOJ 1706: [usaco2007 Nov]relays 奶牛接力跑 floyd矩阵乘法
- USACO2.4.5--Fractions to Decimals
- USACO 1.2 palsquare
- BZOJ3536 : [Usaco2014 Open]Cow Optics
- USACO Packing Rectangles