Cod sursa(job #336980)

Utilizator iulia609fara nume iulia609 Data 2 august 2009 11:19:21
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<stdio.h>
#include <cstdio>
#include<algorithm>
#include<string.h>
#define dim 36001
#define cif 17
using namespace std;

char s[cif];
int n,max;
char aux, A[dim][cif];

int main()
{ int i, j, m, k,max,ok,t,t1;
	
	
	FILE *f = fopen("restante.in", "r");
	FILE *g = fopen("restante.out", "w");
	
	fscanf(f, "%d", &n);
	
	max = 0;
	for(i = 1; i <= n; i++)
		{
			fscanf(f, "%s", &s);
			m = strlen(s);
				if(m > max) max = m;
			for(j = 0; j < m; j++) 
				A[i][j] = s[j];
			sort(A[i], A[i]+m+1);			
		}
	
	
	for(i = 1; i <= n-1; i++)
		for(j = i+1; j <= n; j++)
		{
			for(t = 0; t <= max; t++)
				{
					ok = A[j][t] - A[i][t];
					if(ok > 0) 
						{for(t1 = 0; t1 <= max; t1++)
							aux = A[j][t1], A[j][t1] = A[i][t1], A[i][t1] = aux;
						 break;
						}
				}
		}
	
	
	k = 0;
	for(i = 2; i <= n; i++)
	   {ok = 1;
		for(j = 1; j <= max; j++)
				if(A[i][j] != A[i-1][j]) 
				{
					ok = 0;
					break;
				}	
		 if(ok) k++;
		}
	
	
	fprintf(g, "%d\n", n-k*2);
	
	
	fclose(f);
	fclose(g);
	return 0;
}