Cod sursa(job #532305)

Utilizator nautilusCohal Alexandru nautilus Data 11 februarie 2011 12:25:17
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#define dmax 36010
#define dmax2 50
using namespace std;

int n,sol;
char a[dmax][dmax2];
int poz[dmax];


void citire()
{
 int i,lg;
	
 ifstream fin("restante.in");
 
 fin>>n; fin.get();
 for (i=1; i<=n; i++)
	 {
	  fin.get(a[i],dmax2); fin.get();
	  lg = strlen(a[i]);
	  
	  sort(a[i], a[i]+lg);
	  
	  poz[i]=i;
	 }
	
 fin.close();
}


bool comp(int x, int y)
{
 if (strcmp(a[x], a[y]) >= 0)
	 return 0; else
	 return 1;
}


void solve()
{
 int i;
	
 for (i=1; i<=n; i++)
	 if (strcmp(a[poz[i]], a[poz[i-1]]) != 0 && strcmp(a[poz[i]], a[poz[i+1]]) != 0)
		 sol++;
}


void afisare()
{
 ofstream fout("restante.out");
 
 fout<<sol;
 
 fout.close();
}


int main()
{
	
 citire();
 sort(poz+1, poz+n+1, comp);
 solve();
 afisare();
	
 return 0;
}