Nu aveti permisiuni pentru a descarca fisierul grader_test4.ok
Cod sursa(job #1482875)
| Utilizator | Data | 8 septembrie 2015 11:10:24 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include<stdio.h>
#include<string.h>
#define MAX 2000001
char pat[MAX],txt[MAX];
int poz[MAX];
int main()
{
FILE* f1,*f2;
f1=fopen("strmatch.in","r");
f2=fopen("strmatch.out","w");
fscanf(f1,"%s %s",pat,txt);
if(strlen(pat)>strlen(txt))
{
fprintf(f2,"0\n");
return 0;
}
int i=0,count=0;
char* t=txt;
while(t)
{
char* p=strstr(t,pat);
if(p==NULL)
break;
while(p!=t)
{
i++;
t++;
}
poz[count++]=i;
t++;
i++;
}
fprintf(f2,"%d\n",count);
for(i=0;i<count;i++)
fprintf(f2,"%d ",poz[i]);
fcloseall();
return 0;
}