蒟蒻求助
查看原帖
蒟蒻求助
398132
爱好MC的蒟蒻楼主2021/6/18 23:25
#include <iostream>
#include <cstring>
using namespace std;
string a,b;
int f[1000005];
int main(){
	cin >>a>>b;
	int x=a.size(),y=b.size(),j=0;
	for(int i=1;i<x-1;i++){
		while(j>0&&b[i]!=b[j]) j=f[j-1];
		if(b[i]==b[j])j++;
		f[i]=j;
	}
	for(int i=0;i<=x-y;i++){
		if(a.substr(i,y)==b) cout <<i+1<<endl;
	}
	for(int i=0;i<=y-1;i++){
		cout <<f[i]<<" ";
	}
	return 0;
}

subtask 3 全RE 70pts

2021/6/18 23:25
加载中...