
import java.io.*;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int cnt = Integer.parseInt(br.readLine());
for (int i = 0; i < cnt; i++) {
br.readLine();
PriorityQueue<Integer> sj = new PriorityQueue<>();
PriorityQueue<Integer> sb = new PriorityQueue<>();
StringTokenizer st = new StringTokenizer(br.readLine());
StringTokenizer st_sj = new StringTokenizer(br.readLine());
StringTokenizer st_sb = new StringTokenizer(br.readLine());
while (st_sj.hasMoreTokens()) {
sj.add(Integer.parseInt(st_sj.nextToken()));
}
while (st_sb.hasMoreTokens()) {
sb.add(Integer.parseInt(st_sb.nextToken()));
}
while (!sj.isEmpty() && !sb.isEmpty()) {
if (sj.size() + sb.size() == 1) {
break;
} else if (sj.peek() == sb.peek() || sj.peek() > sb.peek()) {
sb.poll();
} else {
sj.poll();
}
}
bw.write(sj.size() > 0 ? 'S' : sb.size() > 0 ? 'B' : 'C');
bw.write("\n");
}
bw.flush();
bw.close();
br.close();
}
}
설명
- 우선순위 큐에 넣고
- 가장 먼저 나오는 숫자를 비교해 작은 수를 제거한다.
- 마지막에 남는 사람이 승자
회고
- 둘 다 이기지 않은 경우가 어떤 경우인지 모르겠다.
- 가장 높은 숫자를 누가 갖고 있는지만 찾아도 되는 문제였다.