rendered paste body#include <stdio.h>
#include <iostream>
using namespace std;
#define IN "ZODZIAI.IN"
#define OUT "ZODZIAI.OUT" //failai su kuriais bus dirbama
bool compare (char* pirmas, char* antras) {
int len1 = (int) strlen(pirmas);
int len2 = (int) strlen(antras);
for (int i = 0; i<len1; i++) {
if(strchr(antras, pirmas[i])==0) return false;
}
for (int i = 0; i<len2; i++) {
if(strchr(pirmas, antras[i])==0) return false;
}
return true;
}
void up (char *zodis) {
int i =0;
while (zodis[i]) {
zodis[i] = toupper(zodis[i]);
i++;
}
}
int main (int argc, char ** argv) {
FILE * pFile;
int count;
pFile = fopen(IN, "r");
fscanf(pFile, "%i\n", &count);
char zodziai[1000][100];
for (int i=0; i<count; i++) {
fscanf(pFile, "%s\n", zodziai[i]);
up(zodziai[i]);
}
fclose(pFile);
bool tikr[1000];
memset(tikr, 0, sizeof(bool)*1000);
for (int i=0; i<count; i++) {
for (int j=i+1; j<count; j++) {
if (compare(zodziai[i], zodziai[j])) {
tikr[j] = true;
}
}
}
int viso=0;
for (int i =0; i<count; i++) {
if (!tikr[i]) viso++;
}
pFile = fopen(OUT, "w");
fprintf(pFile, "%i", viso);
fclose(pFile);
}