求助,全wa!但是测试集在洛谷在线编译器跑是正确的
查看原帖
求助,全wa!但是测试集在洛谷在线编译器跑是正确的
596366
Lohax_楼主2022/8/1 15:59
#include<stdio.h>
#include<string.h> 
char s[1000005],t[1000005],c; 
int next[1000005],lens,lent;
int main(void){
    int i,j;
	gets(s+1);
    gets(t+1);
	lens=strlen(s+1);
	lent=strlen(t+1);
	i=1,j=0;
	next[1]=0;
	while(i<=lent){
		if(j==0||t[i]==t[j]){
			i++,j++;
			next[i]=j;
		}else j=next[j];
	}
	int pos=1;
	while(1){
		i=pos,j=1;
		while(i<=lens&&j<=lent){
			if(j==0||s[i]==t[j]){
				i++,j++;
			}else j=next[j];
		}
		if(j>lent){
			printf("%d\n",i-lent);
			pos=i-lent+1;
		}else break;		 		
	}
	for(i=2;i<=lent+1;i++){
		printf("%d ",next[i]-1);
	}	
}

2022/8/1 15:59
加载中...