Cod sursa(job #468785)

Utilizator mihai995mihai995 mihai995 Data 5 iulie 2010 00:16:39
Problema Restante Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

char s[1<<16][1<<5],aux[1<<5];
int nr,n,v[1<<16];

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


bool cmp(int a,int b)
{
	for (int i=0;i<20;i++)
		if (s[a][i]!=s[b][i])
			return s[a][i]<s[b][i];
	return true;
}

bool comp(char a[],char b[])
{
	for (int i=0;i<20;i++)
		if (a[i]!=b[i])
			return true;
	return false;
}

int main()
{
	int i;
	in>>n>>ws;
	for (i=1;i<=n;i++)
	{
		in.getline(aux,17);
		sort(aux,aux+strlen(aux));
		strcpy(s[i],aux);
		v[i]=i;
	}
	sort(v+1,v+n+1,cmp);
	for (i=1;i<=n;i++)
		if (comp(s[v[i]],s[v[i-1]]) && comp(s[v[i]],s[v[i+1]]))
			nr++;
	out<<nr<<"\n";
	return 0;
}