Cod sursa(job #340279)

Utilizator airineivAirinei Vasile airineiv Data 13 august 2009 23:45:03
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include "stdio.h"
#include "stdlib.h"
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
#pragma  warning (disable : 4996)

int compare( string a, string b )
{
	/* Compare all of both strings: */
	return a < b;
}

int main(void)
{
	FILE *in, *out;
	if((in = fopen("restante.in", "r"))==NULL)
		return -1;
	if((out = fopen("restante.out", "w"))==NULL)
		return -1;
	vector<string> vec;
	int N;
	fscanf(in, "%d\n", &N);
	for(int i=0; i<N; i++)
	{
		char a[17];
		fscanf(in, "%s\n", a);
		sort(a, a + strlen(a));
		string str = a;
		vec.push_back(str);
	}
	sort(vec.begin(), vec.end());
	int count = 0;
	for(int i=0; i<N; i++)
	{
		if(i == 0)
		{
			if(vec[i] != vec[i+1])
				count++;
		}
		else if(i<N-1)
		{
			if(vec[i-1] != vec[i] && vec[i] != vec[i+1])
				count++;
		}
		else
		{
			if(vec[i-1] != vec[i])
				count++;
		}
	}
	fprintf(out, "%d\n", count);
	fclose(in);
	fclose(out);
}