Cod sursa(job #238267)

Utilizator raica_cristiraica dumitru cristian raica_cristi 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;
                     }