Pagini recente » Cod sursa (job #3250643) | Monitorul de evaluare | Borderou de evaluare (job #1011454) | Monitorul de evaluare | Cod sursa (job #1462011)
#include <fstream>
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
int main(){
int i, m, n, x, q = 0, v[1001];
char a[2000001],b[2000001];
for(m = 0;fin.get(a[m]) && a[m] != '\n'; m++);a[m] = '\0';
for(n = 0;fin.get(b[n]) && b[n] != '\n'; n++);b[n] = '\0';
fin.close();
for(i = 0; i < n; i++){
x = 0;
if(a[m-1] == b[i + m-1])
while( (x+i) < n && a[x] && a[x] == b[i + x])x++;
if(x == m){
v[q] = i;
q++;
if(q == 1000){
break;
}
}
}
fout << q << endl;
for(i = 0; i < q; i++){
fout << v[i] << " ";
}
fout.close();
return 0;
}