Pagini recente » Istoria paginii runda/simulare_oji_2023_clasa_9_11_martie/clasament | Istoria paginii runda/pebarosaneala | Arhiva de probleme | Istoria paginii runda/test100/clasament | Cod sursa (job #206840)
Cod sursa(job #206840)
/*restante*/
#include<fstream.h>
#include<string.h>
long n,contor,k;
char s[36005][20],cit[2],tot[720000];
ifstream fin("restante.in");
ofstream fout("restante.out");
void pivotare(long i,long j,long &m)
{
char pivot=s[k][i];
while(i<j)
{
while(j>i && s[k][j]>=pivot) j--;
s[k][i]=s[k][j];
while(i<j && s[k][i]<=pivot) i++;
s[k][j]=s[k][i];
}
s[k][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++)
{
k=i;
quick_sort(0,strlen(s[i])-1);
strcat(tot,s[i]);
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;
}