Pagini recente » Cod sursa (job #671626) | Cod sursa (job #2276384) | Cod sursa (job #2252874) | Cod sursa (job #1314763) | Cod sursa (job #2295211)
#include <fstream>
#include <string>
#include <string.h>
using namespace std;
ifstream fin ("strmatch.in");
ofstream fout("strmatch.out");
int n,m,i,k,sol,v[1005];
string A,B;
int main(){
getline(fin,A);
getline(fin,B);
n=A.size();
m=B.size();
for (i=0;i<m;i++){
while (k>0 && A[k]!=B[i])
k--;
if (A[k]==B[i])
k++;
if (k==n){
sol++;
if (sol<1001)
v[sol]=i-n+1;
}
}
fout<<sol<<'\n';
for (i=1;i<=min(1000,sol);i++)
fout<<v[i]<<" ";
fin.close();
fout.close();
return 0;
}