#include #include char radky[2000][7]; int min = -1; int total = 0; void printit() { printf("The highest possible quality is 1/%i.\n", min); } void vyresto() { int radek,sloupec, _radek; int _min; int higher; for (radek = 0; radek < total; radek++) { _min = 0; higher = 0; for (sloupec = 0; sloupec < 7; sloupec++) { for(_radek = 0; _radek < total; _radek++) if (radek != _radek) { if (radky[radek][sloupec] != radky[_radek][sloupec]) _min++; if ((min != -1) && (_min > min)) { higher = 1; break; } } if (higher) break; } if (!higher)min = _min; } } int main() { int i,k; char buffer[8] = "\0"; for (;;){ gets(buffer); sscanf(buffer, "%i", &total); if (total == 0) return 0; for (i = 0; i < total; i++) { for (k = 0; k< 7; k++) radky[i][k] = getchar(); getchar(); } vyresto(); printit(); min = -1; } return 0; }