Pagini recente » Cod sursa (job #2075929) | Cod sursa (job #162113) | Cod sursa (job #2267430) | Cod sursa (job #1898524) | Cod sursa (job #125370)
Cod sursa(job #125370)
#include<stdio.h>
#include<string.h>
FILE*f=fopen("restante.in","r");
FILE*g=fopen("restante.out","w");
char a[36065][19];
long n;
void bubble()
{
long i,j;
char aux[19];
for(i=1;i<n;++i)
{
j=i;
while(j>0 && strcmp(a[j],a[j+1])>0)
{
strcpy(aux,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],aux);
--j;
}
}
}
void sorteaza_linia(int p) //sortez elementele de pe linia p
{
long i,j,frecv[28];
for(i=0;i<=26;++i) frecv[i]=0;
long n, nr=0;
n=strlen(a[p]);
for(i=0;i<n;++i) frecv[a[p][i]-97]++;
for(i=0;i<26;++i)
{
while(frecv[i])
{
a[p][nr++]=char(i+97);
frecv[i]--;
}
}
}
long platouri() //returnez numarul de platouri
{
long sol=0;
long i,j;
for(i=1;i<n;++i)
if(strcmp(a[i],a[i+1])!=0) sol++;
else
while(strcmp(a[i],a[i+1])==0) ++i;
if(strcmp(a[n],a[n-1])!=0) sol++;
return sol;
}
void read()
{
fscanf(f,"%ld\n",&n);
for(long i=1;i<=n;++i)
{
fscanf(f,"%s\n",a[i]);
sorteaza_linia(i);
}
}
int main()
{
read();
bubble();
int sol;
sol=platouri();
fprintf(g,"%ld\n",sol);
return 0;
}