Cod sursa(job #397507)

Utilizator RoswenRus Alexandru Roswen Data 17 februarie 2010 08:42:50
Problema Restante Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;

FILE *f=fopen("restante.in","r"), *g=fopen("restante.out","w");
int k,sw,i,n;
char v[36001][17];
void ints(char a[], char b[])
{
	char aux[17];
		strcpy(aux, a);
		strcpy(a, b);
		strcpy(b, aux);
}

int main()
{
	fscanf(f, "%d", &n);
	for(i=1;i<=n;i++)
	{
		fscanf(f, "%s", v[i]);
		sort( v[i], v[i]+strlen(v[i]) );
	}
	
	do{
		sw=1;
		for(i=1;i<n;i++)
			if( strcmp( v[i], v[i+1]) >0 )
			{
				ints(v[i], v[i+1]);
				sw=0;
			}
	} while(!sw);
	
	for(i=1;i<=n;i++)
		if( strcmp(v[i], v[i-1]) && strcmp(v[i],v[i+1]) )
			k++;
		
	fprintf(g,"%d", k);	
	return 0;	
			
}