Cod sursa(job #866516)

Utilizator vld7Campeanu Vlad vld7 Data 28 ianuarie 2013 11:42:09
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

ifstream f("restante.in");
ofstream g("restante.out");

const int MAX_N = 36005;

bool cmp(const string i, const string j)
{
	return i < j;
}

int n, frecv[30], rez;
string s[MAX_N];

int main()
{
	f >> n;
	for (int i = 1; i <= n; i++) {
		memset (frecv, 0, sizeof(frecv));
		f >> s[i];
		for (int j = 0; j < s[i].length(); j++)
			frecv[s[i][j] - 'a' + 1]++;
		int j = 0;
		for (int k = 1; k <= 'z' - 'a' + 1; k++)
			for (int l = 1; l <= frecv[k]; l++)
				s[i][j++] = (char)(k + 96);
	}
	
	sort (s + 1, s + n + 1, cmp);
	for (int i = 2; i < n; i++)
		if (s[i] != s[i + 1] && s[i] != s[i - 1])
			rez++;
	if (s[1] != s[2])
		rez++;
	if (s[n] != s[n - 1])
		rez++;
	
	g << rez << '\n';
	
	return 0;
}