Cod sursa(job #904012)
| Utilizator | Data | 3 martie 2013 16:13:22 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <cstring>
#define NMAX 2000001
using namespace std;
char A[NMAX],B[NMAX];
int Sol[1001];
char *p;
int k;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
int main(){
f >> A;
f >> B;
p = strstr(B,A);
while(p){
Sol[++k] = p-B;
p++;
p = strstr(p,A);
}
g << k << '\n';
if(k > 1000)
for(register int i=1;i<=1000;++i)
g << Sol[i] << " ";
else
for(register int i=1;i<=k;++i)
g << Sol[i] << " ";
f.close();
g.close();
return 0;
}
