Cod sursa(job #1296770)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 21 decembrie 2014 15:04:44
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream>
#include<algorithm>
#include<cstring>
using namespace std;
int n, i, j, nr, ok;
char a[3601][20];
int nc[3602], v[3602];
ifstream fin("restante.in");
ofstream fout("restante.out");
int cmp(int x, int y){
	int i = 0;
	while(a[x][i] == a[y][i]){
		i++;
	}
	return a[x][i] < a[y][i];
}
int main(){
	fin>> n;
	for(i = 1; i <= n; i++){
		fin>> a[i];
		nc[i] = strlen(a[i]);
		sort(a[i], a[i] + nc[i]);
		v[i] = i;
	}
	sort(v + 1, v + n + 1, cmp);
	for(i = 1; i <= n; i++){
		ok = 0;
		if(nc[i] == nc[i+1]){
			ok = 1;
			for(j = 0; j < nc[i]; j++){
				if(a[i][j] != a[i+1][j]){
					ok = 0; 
					break;
				}
			}
		}
		if(ok == 1){
			i++;
		}
		else{
			ok = 0;
			if(nc[i] == nc[i-1]){
				ok = 1;
				for(j = 0; j < nc[i]; j++){
					if(a[i][j] != a[i-1][j]){
						ok = 0; 
						break;
					}
				}
			}
			if(ok == 0){
				nr++;
			}
		}
	}
	fout<< nr;
	return 0;
}