Cod sursa(job #143009)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 25 februarie 2008 20:14:37
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.29 kb
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int v[36009];
char m[36009][20];
int comp(int a, int b) {
	if(strcmp(m[a],m[b])==1) return 1; // compar liniile a si b din matrice
	else return 0;
}
void transform(int l){
	int x;
	x=strlen(m[l]);
	sort(m[l],m[l]+x);
}
int platouri(int n) //returnez numarul de platouri  
    {  
     int sol=0,i;  
      for(i=0;i<n-1;++i)  
     if(strcmp(m[v[i]],m[v[i+1]])!=0) sol++;  
     else  
		while(strcmp(m[v[i]],m[v[i+1]])==0) ++i;  
      if(strcmp(m[v[n-1]],m[v[n-2]])!=0) sol++;  
     return sol;  
     }  
int main(){
	int i,n,cn,sol=0,frecv[36009]={0};
	freopen("restante.in","r",stdin);
	freopen("restante.out","w",stdout);
	scanf("%d",&n);
	cn=n;
	for(i=0;i<n;i++) {
		scanf("%s\n",m[i]);
		transform(i);
	}
	for(i=0;i<n;i++)
		v[i]=i;
	sort(v,v+n,comp);
//	for(i=0;i<n;i++)
//		printf("%s\n",m[v[i]]);
	
	//sol=platouri(n);
	for(i=0;i<n-1;i++)
		if(strcmp(m[v[i]],m[v[i+1]])==0) { frecv[v[i]]=1; frecv[v[i+1]]=1;}
//	for(i=0;i<n;i++)
//		printf("%s\n",m[v[i]]);
	for(i=0;i<n;i++)
		if(frecv[i]==0) sol++;
	printf("%d",sol);
	return 0;
}#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int v[36009];
char m[36009][20];
int comp(int a, int b) {
	if(strcmp(m[a],m[b])==1) return 1; // compar liniile a si b din matrice
	else return 0;
}
void transform(int l){
	int x;
	x=strlen(m[l]);
	sort(m[l],m[l]+x);
}
int platouri(int n) //returnez numarul de platouri  
    {  
     int sol=0,i;  
      for(i=0;i<n-1;++i)  
     if(strcmp(m[v[i]],m[v[i+1]])!=0) sol++;  
     else  
		while(strcmp(m[v[i]],m[v[i+1]])==0) ++i;  
      if(strcmp(m[v[n-1]],m[v[n-2]])!=0) sol++;  
     return sol;  
     }  
int main(){
	int i,n,cn,sol=0,frecv[36009]={0};
	freopen("restante.in","r",stdin);
	freopen("restante.out","w",stdout);
	scanf("%d",&n);
	cn=n;
	for(i=0;i<n;i++) {
		scanf("%s\n",m[i]);
		transform(i);
	}
	for(i=0;i<n;i++)
		v[i]=i;
	sort(v,v+n,comp);
//	for(i=0;i<n;i++)
//		printf("%s\n",m[v[i]]);
	
	//sol=platouri(n);
	for(i=0;i<n-1;i++)
		if(strcmp(m[v[i]],m[v[i+1]])==0) { frecv[v[i]]=1; frecv[v[i+1]]=1;}
//	for(i=0;i<n;i++)
//		printf("%s\n",m[v[i]]);
	for(i=0;i<n;i++)
		if(frecv[i]==0) sol++;
	printf("%d",sol);
	return 0;
}