Pagini recente » Cod sursa (job #1719295) | Cod sursa (job #415025) | Cod sursa (job #1424943) | Cod sursa (job #2095170) | Cod sursa (job #206837)
Cod sursa(job #206837)
/*restante*/
#include<fstream.h>
#include<string.h>
long n,contor;
char s[36005][20],s1[20],cit[2],tot[720000];
ifstream fin("restante.in");
ofstream fout("restante.out");
void pivotare(long i,long j,long &m)
{
char pivot=s1[i];
while(i<j)
{
while(j>i && s1[j]>=pivot) j--;
s1[i]=s1[j];
while(i<j && s1[i]<=pivot) i++;
s1[j]=s1[i];
}
s1[i]=pivot;
m=i;
}
void quick_sort(long p,long q)
{
long m;
if(p<q)
{
pivotare(p,q,m);
quick_sort(p,m-1);
quick_sort(m+1,q);
}
}
int main()
{
long i;
char *p;
fin>>n;
fin.getline(cit,2);
for(i=0;i<n;i++)
fin.getline(s[i],20);
for(i=0;i<n;i++)
{
strcpy(s1,s[i]);
quick_sort(0,strlen(s[i])-1);
strcpy(s[i],s1);
strcat(tot,s1);
tot[strlen(tot)]='0';
}
tot[strlen(tot)]=0;
for(i=0;i<n;i++)
{
p=strstr(tot,s[i]);
if(strstr(p+1,s[i])==0)
contor++;
}
fout<<contor<<'\n';
fout.close();
return 0;
}