Pagini recente » Cod sursa (job #904390) | Cod sursa (job #1146428) | Cod sursa (job #606561) | Cod sursa (job #2183929) | Cod sursa (job #1135287)
#include<fstream>
#include<string>
using namespace std;
const int maxn = 2000000;
string s, t;
int urmator[maxn];
main(){
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
fin>>t>>s;
int k = 0;
int i, j, m = strlen(s);
urmator[0] = -1;
for(i = 0, j = -1; i < m; i++, j++, urmator[i] = j)
while(j >= 0 && s[i] != s[j])
j = urmator[j];
fout<<k<<"\n";
if(k>1001)k=1001;
for(int j=0;j<k;j++)fout<<a[j]<<" ";
}