// UVa 11222 - Only I did it! #include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> using namespace std; int main() { int cases; cin >> cases; for (int c = 1; c <= cases; c++) { bool s[3][10001]; memset(s, false, sizeof(s)); int count[1000]; int p[3][1000]; // input for (int i = 0; i < 3; i++) { cin >> count[i]; for (int j = 0; j < count[i]; j++) { cin >> p[i][j]; s[i][p[i][j]] = true; } } int u_c[3]; int u[3][1000]; int m = 0; int sol[4]; sol[0] = 0; // solve for (int i = 0; i < 3; i++) { u_c[i] = 0; for (int j = 0; j < count[i]; j++) { int pp = p[i][j]; bool unique = !s[(i + 1) % 3][pp] && !s[(i + 2) % 3][pp]; if (unique) { u[i][u_c[i]++] = pp; } } if (sol[0] == 0 || u_c[i] > u_c[m]) { m = i; sol[0] = 1; sol[1] = m; } else if (u_c[i] == u_c[m]) { sol[++sol[0]] = i; } } sort(u[m], u[m] + u_c[m]); // output printf("Case #%d:\n", c); for (int i = 1; i <= sol[0]; i++) { m = sol[i]; cout << m + 1 << " " << u_c[m]; for (int j = 0; j < u_c[m]; j++) cout << " " << u[m][j]; cout << endl; } } return 0; }
Friday, November 27, 2015
UVa 11222 - Only I did it!
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment