Cod sursa(job #404279)

Utilizator lalasCont de teste lalas Data 25 februarie 2010 23:36:19
Problema Restante Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<cstdio>
#include<algorithm>
#include<string>
#include<vector>
#include<cstring>
using namespace std;

int i , j , n ,k;
vector <string> x;
string ss;
char s[50] , cnt;

inline bool cmp ( string a , string b ) {
	int i;
	for ( i = 0 ; i < max ( a.size() , b.size()) ; ++i)
		if ( a[i] != b[i] ) return 0;
if ( a.size() != b.size() ) return false;
return 1;
}


int main()
{
	freopen("restante.in","r",stdin);
	freopen("restante.out","w",stdout);
	
	scanf("%d\n",&n);
	
	for( i = 1 ; i <= n ; ++i ) {
		fgets(s,20,stdin);
		k = strlen(s);
		for ( j = 0 ; j < k ; ++j );
		sort( s,s + j - 1);
		x.push_back(s);
	}
	
	sort( x.begin() , x.end());
	
	for ( i = 1 ; i < n - 1; ++i ) 
		if ( cmp ( x[i] , x[i - 1] ) == 0  && cmp ( x[i] , x[i + 1] ) == 0) cnt++; 
	if ( cmp ( x[0] , x[1] ) == 0 ) cnt ++;
	if ( cmp ( x[n - 1] , x[n - 2] ) == 0 ) cnt ++;
	
	printf("%d\n",cnt);
		
return 0;
}