Pagini recente » Cod sursa (job #2163352) | Cod sursa (job #137625) | Cod sursa (job #3186113) | Cod sursa (job #2135896) | Cod sursa (job #418023)
Cod sursa(job #418023)
#include <cstdio>
#include <cstring>
int lungime,total,k,dict,count,tmp;
char string[10000000],subsir[21];
typedef char cuvinte[21];
cuvinte dictionar[50000];
FILE * in = fopen("abc2.in","rt");
FILE * out = fopen("abc2.out","wt");
int check(int k);
int main()
{
int i;
fscanf(in,"%s",string);
lungime = strlen(string);
while(!feof(in))
{
fscanf(in,"%s",subsir);
for(i=1;i<=total;i++)
if(!strcmp(subsir,dictionar[i]))
tmp = 1;
if(!tmp)
strcpy(dictionar[++total],subsir);
}
dict = strlen(dictionar[1]);
/*printf("%s\n",string);
for(i=1;i<=total;i++)
printf("%s\n",dictionar[i]);*/
lungime-=dict;
for(i=0;i<=lungime;i++)
count+=check(i);
fprintf(out,"%d",count);
return (0);
}
int check(int k)
{
int e,i,answer = 0;
i = k + dict;
for(e=k;e<i;e++)
subsir[e-k] = string[e];
//printf("%s\n",subsir);
for(e=1;e<=total;e++)
if(!strcmp(dictionar[e],subsir))
answer++;
memset(subsir,0,sizeof(subsir));
return answer;
}