Cod sursa(job #904025)
| Utilizator | Data | 3 martie 2013 16:37:32 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <cstdio>
#include <cstring>
#define NMAX 2000001
using namespace std;
int Sol[NMAX],minim;
char A[NMAX],B[NMAX];
int main(){
char *p;
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
gets(A);
gets(B);
p = strstr(B,A);
while(p){
Sol[++Sol[0]] = p-B;
p++;
p = strstr(p,A);
if(Sol[0] > 1000)
break;
}
printf("%d\n",Sol[0]);
for(register int i=1;i<=Sol[0];++i)
printf("%d ",Sol[i]);
return 0;
}
