// 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