Pagini recente » Cod sursa (job #2120971) | Cod sursa (job #2523051) | Cod sursa (job #1368359) | Cod sursa (job #1764278) | Cod sursa (job #418031)
Cod sursa(job #418031)
#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,t,answer = 0,pozitie = -1;
t = k + dict;
//for(e=k;e<i;e++)
//subsir[e-k] = string[e];
//printf("%s\n",subsir);
for(e=1;e<=total;e++)
for(i=k;i<t;i++)
{
if(string[i] != dictionar[e][++pozitie])
{
pozitie = -1;
break;
}
if(i == t - 1)
answer++;
}
//memset(subsir,0,dict);
return answer;
}