Cod sursa(job #2339742)

Utilizator CristianSoareSoare Cristian Costantin CristianSoare Data 9 februarie 2019 11:23:02
Problema Potrivirea sirurilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>#include <cstring>
using namespace std;ifstream f("strmatch.in");ofstream g("strmatch.out");char s[2000010],t[2000010];int l,p[2000010],v[1000],ap,i,n,m;int main(){f>>s+1>>t+1;n=strlen(s+1);m=strlen(t+1);for(i=2; i<=n; i++){while(l!=0&&s[i]!=s[l+1])l=p[l];if(s[i]==s[l+1])l++;p[i]=l;}l=0;for(i=1; i<=m; i++){while(l!=0&&t[i]!=s[l+1])l=p[l];if(t[i]==s[l+1])l++;if(n==l){ap++;if(ap<=1000)v[ap]=i-n;l=p[l];}}g<<ap<<'\n';if(ap>1000)ap=1000;for(i=1;i<=ap;i++)g<<v[i]<<" ";return 0;}