Cod sursa(job #249779)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 29 ianuarie 2009 11:07:41
Problema Restante Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
ifstream f("restante.in");
ofstream g("restante.out");
int cmp( const void *a, const void *b)
{
   return( strcmp((char *)a,(char *)b) );
}

int main(){
char a[36001][17],x;
int n,i,j,nr,k,ok;

f>>n;
for(i=0;i<n;i++){
   f>>a[i];
   for(j=0;j<strlen(a[i])-1;j++)
    for(k=j+1;k<strlen(a[i]);k++)
      if(a[i][j]>a[i][k]){
	 x=a[i][j];
	 a[i][j]=a[i][k];
	 a[i][k]=x;}
	 }
for(i=0;i<n;i++)
  if(a[i]!=0){
    ok=1;
  for(j=i+1;j<=n;j++)
     if(strcmp(a[i],a[j])==0)
       {a[j][0]=0;ok=0;}
  if(ok==0) a[i][0]=0;
}
//   qsort((void *)a, n, sizeof(a[0]),cmp);
 nr=0;
for(i=1;i<=n;i++)
  if(a[i][0]!=0)nr++;
/*nr=0;
if(strcmp(a[0],a[1])!=0)nr=1;
for(i=1;i<n-1;i++)
   if(strcmp(a[i-1],a[i])!=0&&strcmp(a[i+1],a[i])!=0)
      nr++;

if(strcmp(a[n-1],a[n-2])!=0)nr++;*/
g<<nr;
return 0;
}