Pagini recente » Cod sursa (job #648691) | Cod sursa (job #20999) | Cod sursa (job #441581) | Cod sursa (job #1705022) | Cod sursa (job #3265873)
#include <bits/stdc++.h>
using namespace std;
ifstream f("restante.in");
ofstream g("restante.out");
bool verif(char a[17], char b[17]){
int ap[123] = {0}, lenA = strlen(a), lenB = strlen(b);
if (lenA != lenB){
return 0;
}
else{
while (lenA){
lenA--;
ap[(int)a[lenA]]++;
ap[(int)b[lenA]]++;
}
}
for (int i = 97; i <= 122; i++){
if(ap[i] % 2 != 0){
return 0;
}
}
return 1;
}
int main(void){
char vec[36001][17];
int n = 0, count = 0;
bool ok = true;
f >> n; f.get();
for (int i = 0; i < n; i++){
f.getline(vec[i], 17);
}
for (int i = 0; i < n - 1; i++){
ok = true;
if (strcmp(vec[i], "-1") != 0){
for (int j = i + 1; j < n; j++){
if (strcmp(vec[j], "-1") != 0){
if (verif(vec[i], vec[j]) == 1){
strcpy(vec[j], "-1");
ok = false;
}
}
}
if (!ok) strcpy(vec[i], "-1");
}
}
for (int i = 0; i < n; i++){
if (strcmp(vec[i], "-1") != 0)
count++;
}
g << count;
return 0;
}