Cod sursa(job #1206226)
Utilizator | Data | 9 iulie 2014 11:21:39 | |
---|---|---|---|
Problema | Potrivirea sirurilor | Scor | 26 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include<stdio.h>
#include<string.h>
#define MAXN 200000
int main() {
char buffer[MAXN],*s1,*s2;
int i=0,j=0,k=0,find[MAXN],N;
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
scanf("%s",buffer);
s1=strdup(buffer);
scanf("%s",buffer);
s2=strdup(buffer);
N=strlen(s1);
for(i=0;i<=strlen(s2)-strlen(s1);i++)
if(strncmp(s1,s2+i,N)==0)
find[k++]=i;
printf("%d\n",k);
for(i=0;i<k%1000;i++)
printf("%d ",find[i]);
fclose(stdin);
fclose(stdout);
return 0;
}