Cod sursa(job #340277)

Utilizator airineivAirinei Vasile airineiv Data 13 august 2009 23:13:31
Problema Restante Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include "stdio.h"
#include "stdlib.h"
#include <algorithm>

using namespace std;

int compare( const void *arg1, const void *arg2 )
{
	/* Compare all of both strings: */
	return strcmp(  (const char* ) arg1, ( const char* ) arg2 );
}

int comp1(const void *arg1, const void * arg2)
{
	return (*(char *)arg1) > (*(char *)arg2);
}
int main(void)
{
	FILE *in, *out;
	if((in = fopen("restante.in", "r"))==NULL)
		return -1;
	if((out = fopen("restante.out", "w"))==NULL)
		return -1;
	char a[36000][16];
	int N;
	fscanf(in, "%d\n", &N);
	for(int i=0; i<N; i++)
	{
		fscanf(in, "%s\n", a[i]);
		qsort((void *)a[i], strlen(a[i]), sizeof(char), comp1); 
	}
	qsort((void *)a, N, 16, compare);
	int count = 0;
	for(int i=0; i<N; i++)
	{
		if(i == 0)
		{
			if(strcmp(a[i], a[i+1]))
				count++;
		}
		else if(i<N-1)
		{
			if(strcmp(a[i-1] ,a[i]) && strcmp(a[i], a[i+1]))
				count++;
		}
		else
		{
			if(strcmp(a[i-1], a[i]))
				count++;
		}
	}
	fprintf(out, "%d\n", count);
	fclose(in);
	fclose(out);
}