您的位置:首页 > 其它

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: