// UVa 11286 - Conformity #include <map> #include <iostream> #include <algorithm> using namespace std; struct selection { int a[5]; }; bool operator <(const selection & a, const selection & b) { for (int j = 0; j < 5; j++) if (a.a[j] != b.a[j]) return a.a[j] < b.a[j]; return false; } bool operator ==(const selection & a, const selection & b) { for (int j = 0; j < 5; j++) if (a.a[j] != b.a[j]) return false; return true; } int main() { int n; cin >> n; while (n) { selection c[10000]; map<selection, int> m; int max = 0; int combs = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < 5; j++) cin >> c[i].a[j]; sort(c[i].a, c[i].a + 5); m[c[i]]++; if (m[c[i]] > max) { max = m[c[i]]; combs = 1; } else if (m[c[i]] == max) combs++; } cout << combs * max << endl; cin >> n; } return 0; }
Monday, December 7, 2015
UVa 11286 - Conformity
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment