Cod sursa(job #1997244)
| Utilizator | Data | 3 iulie 2017 19:32:04 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include <bits/stdc++.h>
using namespace std;
char A[2000005], B[2000005], *p;
int poz, v[1001], loc;
void Solve()
{
p = strstr(B, A);
while(p != NULL)
{
++loc;
if(loc < 1000)
{
v[loc] = p - B;
}
poz = p - B;
p = strstr(B + poz + 1, A);
}
printf("%d\n", loc);
for(int i = 1; i <=min(loc, 1000); ++i) printf("%d ", v[i]);
}
int main()
{
freopen("strmatch.in", "r", stdin);
freopen("strmatch.out", "w", stdout);
scanf("%s %s", A, B);
Solve();
return 0;
}
