Cod sursa(job #730594)
Utilizator | Data | 6 aprilie 2012 17:14:22 | |
---|---|---|---|
Problema | Potrivirea sirurilor | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
#include <cstring>
#define Nmax 2000000
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
char a[Nmax], b[Nmax];
int nr = 0, poz[Nmax];
int i = 0;
int main()
{
fin.getline(a, Nmax);
fin.getline(b, Nmax);
char *p = strstr(b, a);
while(p)
{
nr++;
poz[++i] = strlen(b) - strlen(p);
p = strstr(p + 1, a);
}
fout << nr << '\n';
for(int k = 1; k <= i; k++)
fout << poz[k] << " ";
fin.close();
fout.close();
return 0;
}