Pagini recente » Cod sursa (job #189461) | Cod sursa (job #1188282) | Cod sursa (job #2059430) | Cod sursa (job #2157876) | Cod sursa (job #876246)
Cod sursa(job #876246)
#include <fstream>
#include <string>
using namespace std;
int main ()
{
ifstream in("rez.in");
ofstream out("rez.out");
string a,f;
int t[1000],i,j,n,m;
getline(in,a);
getline(in,f);
n=a.size();
m=f.size();
j=0;
t[0]=0;
for(i=2;i<=n;i++){
while(j<=n&&a[j+1]!=a[i])
j=t[j];
if(a[j+1]==a[i])
j++;
t[j]=j;}
j=0;
for(i=1;i<=m;i++){
while(j<=n&&a[j+1]!=f[i])
j=t[j];
if(a[j+1]==f[i])
j++;
if(j==n)
out<<j<<' '<<"!!!";}
return 0;
}