보드게임
시간 제한1초메모리 제한1024 MB
A와 B 카드로 채운 두 격자에서 각 열의 맨 위 카드를 번갈아 제거하는 게임의 승자를 시작 상태와 Q번의 교환 후마다 구합니다.
문제
Alice와 Bob은 두 명이서 보드게임을 진행하려고 한다. 이 게임은 양의 정수 , 에 대해 총 장의 카드를 사용한다. 이 중 정확히 장에는 알파벳 A가, 나머지 장에는 알파벳 B가 적혀 있다. 게임을 시작하기 전에 Alice와 Bob은 카드를 각자 장씩 나누어 가진 뒤, 자기 앞에 모양으로 배치한다. 두 사람은 서로의 카드 배치를 알고 있다.
게임의 첫 턴은 Alice가 시작한다. 각 플레이어는 자기 턴에 앞에 있는 개의 열 중 하나를 고른 뒤, 그 열에서 가장 위쪽 카드를 제거한다. 제거한 카드에 A가 적혀 있으면 다음 턴은 Alice가, B가 적혀 있으면 Bob이 진행한다. 매 턴 카드를 반드시 제거해야 하므로, 카드가 남아 있지 않은 열은 고를 수 없다. 어떤 턴에 카드를 제거한 결과 자기 앞의 카드가 모두 없어지면, 그 플레이어가 즉시 승리한다.
Alice와 Bob은 이기기 위해 최선을 다한다. 두 사람은 초기 카드 배치가 주어졌을 때 승자가 누구인지 알고 싶어 한다. 또한 Alice와 Bob이 각자 앞의 카드를 하나씩 골라 두 카드를 교환할 때마다 승자가 어떻게 바뀌는지도 알고 싶어 한다. 교환은 누적되어 적용된다.
입력
첫째 줄에 양의 정수 , 이 공백으로 구분되어 주어진다. (; ; )
둘째 줄부터 개의 줄에 걸쳐 Alice의 카드 배치가 주어진다. 번째 줄에는 Alice의 행에 놓인 카드 배치가 주어진다.
번째 줄부터 개의 줄에 걸쳐 Bob의 카드 배치가 주어진다. 번째 줄에는 Bob의 행에 놓인 카드 배치가 주어진다.
각 행의 카드 배치는 길이 이고 A와 B로만 이루어진 문자열이다. 행 열의 문자는 해당 플레이어의 행 열 카드에 적힌 알파벳이다. 입력 문자열에는 A가 총 개, B가 총 개 들어 있으며, 각 플레이어 배치의 1행은 각 열에서 가장 위쪽 카드이다.
번째 줄에는 카드를 교환하는 횟수를 나타내는 양의 정수 가 주어진다. ()
번째 줄부터 개의 줄에 걸쳐 교환 정보가 주어진다. 번째 줄에는 번째 교환을 나타내는 정수 , , , 가 공백으로 구분되어 주어진다. (; ) 은 Alice 앞에서 교환할 카드의 위치이고, 는 Bob 앞에서 교환할 카드의 위치이다.
출력
첫째 줄에는 초기 카드 배치에서 승리하는 플레이어의 이름을 Alice 또는 Bob으로 출력한다.
둘째 줄부터 개의 줄에 걸쳐, 첫 번째 교환부터 번째 교환까지 적용된 카드 배치에서 승리하는 플레이어의 이름을 같은 형식으로 출력한다. 번째 줄에 번째 교환 결과를 출력한다.