Cod sursa(job #953355)

Utilizator BLz0rDospra Cristian BLz0r Data 25 mai 2013 20:24:13
Problema Restante Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

FILE *f=fopen ("restante.in","r");
FILE *g=fopen ("restante.out","w");

char v[36001][17],s[17];
bool w[36001];
int main(){
	int n,i,j,lg,lgx,nr=0;
	
	fscanf (f,"%d",&n);
	
	for (i=1;i<=n;++i){
		fscanf (f,"%s",s);
		lg=strlen(s);
		v[i][0]=lg;
		for (j=0;j<lg;++j){
			v[i][j+1]=s[j];
		}
		sort (v[i],v[i]+lg+1);
	}
	
	for (i=1;i<=n;++i){
		if (w[i]){
			continue;
		}
		for (j=i+1;j<=n;++j){
			if (v[i][0]==v[j][0]){
				if (!memcmp(v[i],v[j],v[i][0])){
					w[i]=1;
					w[j]=1;
				}
			}
		}
	}
	for (i=1;i<=n;++i){
		if(!w[i]){
			nr++;
		}
	}
	fprintf (g,"%d",nr);
	
	return 0;
}