Cod sursa(job #2546090)
| Utilizator | Data | 13 februarie 2020 20:03:04 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 80 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std;
char s1[2000005],s2[2000005];
int ap[2000005];
int main()
{
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
fgets(s1+1,2000005,stdin);
fgets(s2+1,2000005,stdin);
int n=strlen(s1+1),m=strlen(s2+1);
--n;--m;
int i,j,cnt=0;
for(i=1;i<=m-n+1;++i)
{for(j=1;j<=n;++j)
if(s2[i+j-1]!=s1[j])break;
if(j==(n+1))
{
cnt++;
ap[cnt]=i-1;
}
}
printf("%d\n",cnt);
for(i=1;i<=min(1000,cnt);++i)printf("%d ",ap[i]);
return 0;
}
