太菜了C题都做不对QAQ
用的哈希,题目也没读懂。大佬轻喷QAQ
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int read() {
int p = 0, flg = 1;
char c = getchar();
while (c < '0' || c > '9') {
if (c == '-') flg = -1;
c = getchar();
}
while (c >= '0' && c <= '9') {
p = p * 10 + c - '0';
c = getchar();
}
return p * flg;
}
void write(int x) {
if (x < 0) {
x = -x;
putchar('-');
}
if (x > 9) {
write(x / 10);
}
putchar(x % 10 + '0');
}
int gethash(string s) {
int ans = (s[0] - 'a') + (s[1] - 'a') * 10 + (s[2] - 'a') * 100;
return ans;
}
int h1[3005], h2[3005], h3[3005];
int main() {
int T = read();
while (T--) {
memset(h1, 0, sizeof(h1));
memset(h2, 0, sizeof(h2));
memset(h3, 0, sizeof(h3));
int n = read();
int a = 0, b = 0, c = 0;
string s;
for (int i = 1; i <= n; i++) cin >> s, h1[gethash(s)] = 1;
for (int i = 1; i <= n; i++) cin >> s, h2[gethash(s)] = 1;
for (int i = 1; i <= n; i++) cin >> s, h3[gethash(s)] = 1;
for (int i = 0; i <= 3000; i++) {
//write(h1[i]), putchar(32), write(h2[i]), putchar(32), write(h3[i]), puts("");
if (h1[i] && h2[i] && h3[i]) continue;
if (h1[i] && h2[i]) a++, b++;
if (h2[i] && h3[i]) b++, c++;
if (h3[i] && h1[i]) c++, a++;
if (h1[i] && !h2[i] && !h3[i]) a += 3;
if (h2[i] && !h1[i] && !h3[i]) b += 3;
if (h3[i] && !h1[i] && !h2[i]) c += 3;
}
write(a), putchar(32), write(b), putchar(32), write(c), puts("");
}
return 0;
}