Cod sursa(job #2884072)
| Utilizator | Data | 2 aprilie 2022 12:55:07 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 38 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
char a[2000005],b[2000005];
int n,m,j,i,cnt,cnt1,poz[2000005],auxi;
int main()
{
f>>a>>b;
m=strlen(a)-1,n=strlen(b)-1;
for(i=0;i<n;i++)
{
auxi=i;
j=0;
cnt=0;
while(b[i]==a[j])
{
j++;
i++;
cnt++;
}
cnt--;
if(cnt==m)
{
cnt1++;
poz[cnt1]=auxi;
}
i=auxi;
}
g<<cnt1<<'\n';
if(cnt1>=1000)
cnt1=1000;
for(i=1;i<=cnt1;i++)
g<<poz[i]<<" ";
return 0;
}
