Cod sursa(job #238267)
Utilizator | Data | 1 ianuarie 2009 15:40:48 | |
---|---|---|---|
Problema | Restante | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.3 kb |
#include<stdio.h>
#include<string.h>
char a[18],b[3601][18];
int check (char a[17],char b[17])
{
if(strcmp(a,b)!=0)
return 1;
return 0;
}
int main ()
{
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
int n,i,k,x,q,sc,numar=0;
scanf("%d",&n);
char s;
gets(a);
for(q=1;q<=n;q++)
{
gets(a);
x=strlen(a);
for(i=0;i<x-1;i++)
{ sc=i; for(k=i+1;k<x;k++)
{
if(a[i]>a[k] && a[sc]>a[k])
sc=k;
}
if(a[i]>a[sc])
{
s=a[i];
a[i]=a[sc];
a[sc]=s;
}
}
strcpy(b[q],a);
// printf("%s \n",b[q]);
}
for(i=1;i<n;i++)
{sc=i; for(k=i+1;k<=n;k++)
if(strcmp(b[i],b[k])>0 && strlen(b[i])==strlen(b[k]))
if(strcmp(b[sc],b[k])>0 )
sc=k;
if(sc!=i)
{
strcpy(a,b[i]);
strcpy(b[i],b[sc]);
strcpy(b[sc],a);
}
}
// for(i=1;i<=n;i++)
// printf("%s\n",b[i]);
// for(i=1;i<=16;i++)
// printf("%d ",a[i]);
// printf("\n");
/* for(i=0;i<=16;i++)
{
if(a[i]>=10)
while(1!=0)
a[i]=0;
}}*/
numar+=check(b[1],b[2]);
for(i=2;i<=n;i++)
numar+=check(b[i],b[i-1]);
printf("%d",numar);
return 0;
}