Pagini recente » Cod sursa (job #1859118) | Cod sursa (job #2258655) | Cod sursa (job #2717371) | Cod sursa (job #2912834) | Cod sursa (job #423759)
Cod sursa(job #423759)
#include<stdio.h>
#include<string.h>
#include<cstdlib>
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
FILE *fin=fopen("restante.in","r");
FILE *fout=fopen("restante.out","w");
int a[36001][19],n,dm,i,j,sw,q,aux;
char c[18],x;
int main(){
fscanf(fin,"%d",&n);
fscanf(fin,"%c",&x);
fgets(c,18,fin);
dm=strlen(c)-1;
for(i=0;i<dm;i++)
a[1][i]=c[i]-96;
qsort(a[1],dm,sizeof(int),compare);
for(i=2;i<=n;i++){
for(j=0;j<dm;j++){
fscanf(fin,"%c",&x);
a[i][j]=x-96;
}
qsort(a[i],dm,sizeof(int),compare);
fscanf(fin,"%c",&x);
}
do{
sw=0;
for(i=1;i<n;i++){
q=0;
while(a[i][q]==a[i+1][q] && q<dm) q++;
if(q<dm)
if(a[i][q]>a[i+1][q])
for(j=0;j<dm;j++){
aux=a[i][j];
a[i][j]=a[i+1][j];
a[i+1][j]=aux;
sw=1;
}
}
}while(sw);
aux=n;
for(i=1;i<aux;i++){
q=0;
while(a[i][q]==a[i+1][q] && q<dm) q++;
if(a[i][q]==a[i+1][q]){
n--;
sw=1;
}
if(a[i][q]!=a[i+1][q] && sw==1){
sw=0;
n--;
}
}
/*for(i=1;i<=n;i++){
for(j=0;j<dm;j++)
fprintf(fout,"%d",a[i][j]);
fprintf(fout,"\n");
}*/
fprintf(fout,"%d",n);
fclose(fin);
fclose(fout);
return 0;
}
//who wants to be alone;