고수
시간 제한1초메모리 제한1024 MB
모든 쌍이 승패를 겨룬 토너먼트에서 각 정점까지의 최단 승리 경로 길이의 최댓값을 최소로 하는 정점을 찾는다.
문제
호는 태보라는 무술의 고수이다. 그녀는 태보 학원을 운영하고 있고, 학원에는 명의 학생이 있다. 호는 나이가 너무 많아 태보를 가르칠 수 없어서, 학생 중 한 명에게 학원을 물려주려고 한다. 적합한 후보를 찾기 위해 호는 개의 모든 학생 쌍을 만들어 태보 대결을 시켰다. 태보 대결에서는 정확히 한 명이 이기고 다른 한 명이 진다. 호는 학생이 태보의 고수라면 학원을 물려받을 만하다고 생각한다.
고수는 게임, 스포츠, 경쟁 프로그래밍 등에서 실력이 뛰어난 사람을 뜻하는 한국어 단어이다. 태보에서는 고수의 의미가 다르다.
플레이어 에서 플레이어 로 가는 승리 경로를 개의 정수 수열 라 하자. 여기서 모든 에 대해 학생 가 학생 을 이겼다. 이때 를 이 승리 경로의 길이라고 부른다. 예를 들어 길이 1의 승리 경로가 존재하면 가 학생 를 이겼음을 바로 알 수 있다. 길이 2의 승리 경로가 존재하면 가 를 직접 이기지 않았을 수도 있지만, 가 이긴 어떤 다른 플레이어 가 존재하고 가 를 이겼다.
거리 는 에서 로 가는 승리 경로가 존재할 때 그 최소 길이로 정의한다. 에서 로 가는 승리 경로를 찾을 수 없는 경우도 있다. 그런 경우 으로 정의한다. 경로의 길이는 0일 수 있으므로 는 항상 이다.
호는 자신의 학생이 모든 종류의 상대에게 강하기를 원하므로, 학생 의 약점을 중 최댓값으로 정의한다. 학생 의 약점이 모든 약점 값 중 최솟값일 때 학생 는 태보의 고수이다. 이 정의에 따라 고수는 여러 명일 수 있다.
호는 나이가 너무 많아 누가 고수인지 말할 수 없다. 당신의 임무는 고수 한 명과 그 고수의 약점 값을 찾아 호를 돕는 것이다. 고수가 여러 명이면 아무나 출력해도 된다.
입력
첫째 줄에 학생 수 이 주어진다.
다음 개 줄의 번째 줄에는 W, L, -로 이루어진 문자열 가 주어진다. 의 번째 문자를 라 하자. 는 다음과 같다:
- 이면
-. - 학생 가 학생 를 이겼으면
W. - 학생 가 학생 를 이겼으면
L.
출력
학생 가 고수이고 가 학생 의 약점일 때, 와 를 공백으로 구분해 출력한다.
답이 여러 개면 아무나 출력해도 된다.
제한
-
-() - 이면
W또는L이다. () -
W이면L이다. () -
L이면W이다. ()