Pagini recente » Cod sursa (job #2453735) | Cod sursa (job #2487670) | Cod sursa (job #549835) | Cod sursa (job #77123) | Cod sursa (job #1092595)
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
int n,m,i,j,k,l,nr,c[1001];
char a[2000001],b[2000001];
int ver(int x)
{
int i,j;
if(m-x+1<n) return 0;
j=1;
for(i=x;i<=m;i++)
if(a[j]==b[i]) {j++; if(j==n+1) {nr++; c[nr]=x-1; return 0;}}
else return 0;
}
int main()
{
f.getline(a+1,2000001); n=strlen(a+1);
f.getline(b+1,2000001); m=strlen(b+1);
int x;
x=1;
if(n>m) g<<0;
else{
for(i=1;i<=m-n+1;i++)
{
if(a[1]==b[i]) l=ver(i);
}
g<<nr<<"\n";
for(i=1;i<=min(nr,1000);i++) g<<c[i]<<" ";
}
return 0;
}