ページが読み込まれませんか? こちらをクリックすると直るかもしれません。
Placeholder

#10388

소개 세션 조직 20s 1024MB

問題

Apricot Rules LLC가 조직 개편을 거친 뒤, \mathbf{M}명의 관리자(manager)와 \mathbf{N}명의 비관리자(non-manager)를 포함하는 새로운 대규모 팀이 구성되었다. 팀 내에는 서로 모르는 사람이 많기 때문에, 여러 차례의 소개 세션(introduction session)을 일정에 넣으려 한다. 우리는 어떤 팀원 쌍이 이미 서로를 알고 있는지 정확히 알고 있다.

소개 세션은 1분짜리 시간 슬롯(time slot)들로 구성되어 진행된다. 첫 번째 시간 슬롯은 오전 8:00에 시작해서 8:01에 끝난다. i번째 시간 슬롯은 8:00으로부터 i-1분 뒤에 시작해 8:00으로부터 i분 뒤에 끝난다. 각 시간 슬롯 동안 하나 이상의 소개 세션이 열릴 수 있다. 한 팀원은 한 시간 슬롯에서 최대 한 소개 세션에만 배정될 수 있다. 각 소개 세션은 정확히 3명의 팀원으로 이루어져야 한다: 배정된 관리자 a(반드시 관리자여야 함) 1명과, 나머지 두 사람 b, c(관리자/비관리자 모두 가능)이다. 소개 세션이 열리려면, 배정된 관리자 abc를 모두 이미 알고 있어야 한다. 소개 세션이 끝난 뒤에는 bc도 서로를 알게 된 것으로 간주한다. 만약 b와/또는 c가 관리자라면, 둘을 모두 포함하는 미래의 소개 세션에서 그들 중 누구든 배정된 관리자가 될 수 있다.

팀원들 중 일부 쌍에 대해, 위 과정으로 결국 서로를 알게 되기까지 필요한 최소 시간을 알고 싶다. 혹은 그 과정으로는 서로를 알게 만드는 것이 불가능한지도 알고 싶다. 어떤 두 사람이 소개 세션이 시작되기 전부터 이미 서로를 알고 있다면, 그 최소 시간을 0분으로 정의한다.

여러 쌍을 동시에 다루지만, 우리는 각 쌍의 상황을 서로 독립적으로 고려한다. 즉, 어떤 쌍의 최소 시간은 그 쌍만을 위한 특정 소개 세션 구성에 따라 달라질 수 있다.


入力

입력의 첫 줄에는 테스트 케이스 수 \mathbf{T}가 주어진다. \mathbf{T}개의 테스트 케이스가 이어진다. 각 테스트 케이스는 먼저 세 정수 \mathbf{M}, \mathbf{N}, \mathbf{P}가 주어진 한 줄로 시작한다. 이는 각각 새 팀의 관리자 수, 비관리자 수, 그리고 우리가 질문할 팀원 쌍의 개수이다. 관리자들은 1번부터 \mathbf{M}번까지 번호가 매겨지고, 비관리자들은 \mathbf{M} + 1번부터 \mathbf{M} + \mathbf{N}번까지 번호가 매겨진다. 그 다음 \mathbf{M} + \mathbf{N}줄이 이어지며, 각 줄에는 \mathbf{M} + \mathbf{N}개의 문자가 있다. 이 중 i번째 줄의 j번째 문자 \mathbf{C_{i,j}}는, 소개 과정이 시작되기 전에 팀원 i와 팀원 j가 서로를 알고 있다면 Y이고, 그렇지 않다면 N이다. 그 다음 \mathbf{P}줄이 더 이어지며, k번째 줄에는 두 정수 \mathbf{A_k}, \mathbf{B_k}가 주어진다. 이는 우리가 관심 있는 k번째 팀원 쌍의 팀원 번호를 나타낸다.


出力

각 테스트 케이스마다 Case #x: y_1\ y_2\ y_3 \cdots y_\mathbf{P} 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, y_k는 팀원 \mathbf{A_k}\mathbf{B_k}가 서로를 알게 되는 것이 불가능하면 -1이고, 그렇지 않다면 과정이 시작된 뒤 서로를 알게 될 때까지의 최소 시간(분 단위)이다.


例題 #1

3
2 2 3
YYYY
YYNN
YNYN
YNNY
2 3
2 4
1 4
3 2 2
YYYNN
YYNYN
YNYNY
NYNYN
NNYNY
2 5
4 5
1 1 1
YN
NY
1 2
Case #1: 1 1 0
Case #2: 2 3
Case #3: -1
이 추가 샘플 케이스에서는 2번 관리자가 첫 번째 시간 슬롯에서 1번과 3번 관리자를 서로 소개할 수 있고, 동시에 5번 관리자는 4번 관리자와 비관리자 6번을 소개할 수 있다. 그 다음 두 번째 시간 슬롯에서 3번 관리자가 1번과 4번 관리자를 소개하고, 마지막으로 세 번째 시간 슬롯에서 4번 관리자가 1번 관리자와 비관리자 6번을 소개할 수 있다.

例題 #2

1
5 1 1
YYNNNN
YYYNNN
NYYYNN
NNYYYN
NNNYYY
NNNNYY
1 6
Case #1: 3

出典

GCJ 2021iow C

ログインしないとコードを書けません。