Pagini recente » Rezultatele filtrării | Cod sursa (job #1175230) | Rezultatele filtrării | Rezultatele filtrării | Cod sursa (job #2985083)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
const int NMAX = 2000000;
int n, m, nr;
char A[NMAX + 1], B[NMAX + 1];
int v[1001];
int main() {
fin >> A >> B;
n = strlen(A);
m = strlen(B);
if(n > m) {
fout << "0\n";
return 0;
}
for(int i = 0; i < m; i++) {
int j = 0;
while(j < n && A[j] == B[i + j]) {
j++;
}
if(j >= n) {
nr++;
if(nr <= 1000) {
v[nr] = i;
}
}
}
fout << nr << '\n';
for(int i = 1; i <= min(1000, nr); i++) {
fout << v[i] << " ";
}
return 0;
}