고수

시간 제한1초메모리 제한1024 MB

요약
모든 쌍이 승패를 겨룬 토너먼트에서 각 정점까지의 최단 승리 경로 길이의 최댓값을 최소로 하는 정점을 찾는다.
난이도

어려움10점 중 8점

유형
그래프, BFS, 최단 경로, 그리디
정답자
아직 제출이 없습니다

문제

호는 태보라는 무술의 고수이다. 그녀는 태보 학원을 운영하고 있고, 학원에는 NN명의 학생이 있다. 호는 나이가 너무 많아 태보를 가르칠 수 없어서, 학생 중 한 명에게 학원을 물려주려고 한다. 적합한 후보를 찾기 위해 호는 N(N−1)2\frac{N(N-1)}{2}개의 모든 학생 쌍을 만들어 태보 대결을 시켰다. 태보 대결에서는 정확히 한 명이 이기고 다른 한 명이 진다. 호는 학생이 태보의 고수라면 학원을 물려받을 만하다고 생각한다.

고수는 게임, 스포츠, 경쟁 프로그래밍 등에서 실력이 뛰어난 사람을 뜻하는 한국어 단어이다. 태보에서는 고수의 의미가 다르다.

플레이어 xx에서 플레이어 yy로 가는 승리 경로를 K+1K+1개의 정수 수열 a_0=x, a_1, ⋯ , a_K=ya\_0 = x,\ a\_1,\ \cdots ,\ a\_K = y라 하자. 여기서 모든 0≤i<K0 \le i < K에 대해 학생 a_ia\_i가 학생 a_i+1a\_{i+1}을 이겼다. 이때 KK를 이 승리 경로의 길이라고 부른다. 예를 들어 길이 1의 승리 경로가 존재하면 xx가 학생 yy를 이겼음을 바로 알 수 있다. 길이 2의 승리 경로가 존재하면 xx가 yy를 직접 이기지 않았을 수도 있지만, xx가 이긴 어떤 다른 플레이어 zz가 존재하고 zz가 yy를 이겼다.

거리 d(x, y)d(x,\ y)는 xx에서 yy로 가는 승리 경로가 존재할 때 그 최소 길이로 정의한다. xx에서 yy로 가는 승리 경로를 찾을 수 없는 경우도 있다. 그런 경우 d(x, y)=9000d(x,\ y) = 9000으로 정의한다. 경로의 길이는 0일 수 있으므로 d(i, i)d(i,\ i)는 항상 00이다.

호는 자신의 학생이 모든 종류의 상대에게 강하기를 원하므로, 학생 ii의 약점을 d(i, 1), d(i, 2), ⋯ , d(i, N)d(i,\ 1),\ d(i,\ 2),\ \cdots,\ d(i,\ N) 중 최댓값으로 정의한다. 학생 ii의 약점이 모든 약점 값 중 최솟값일 때 학생 ii는 태보의 고수이다. 이 정의에 따라 고수는 여러 명일 수 있다.

호는 나이가 너무 많아 누가 고수인지 말할 수 없다. 당신의 임무는 고수 한 명과 그 고수의 약점 값을 찾아 호를 돕는 것이다. 고수가 여러 명이면 아무나 출력해도 된다.

입력

첫째 줄에 학생 수 NN이 주어진다.

다음 NN개 줄의 ii번째 줄에는 W, L, -로 이루어진 문자열 s_is\_i가 주어진다. s_is\_i의 jj번째 문자를 s_i,js\_{i,j}라 하자. s_i,js\_{i,j}는 다음과 같다:

  • i=ji=j이면 s_i,j=s\_{i,j}= -.
  • 학생 ii가 학생 jj를 이겼으면 s_i,j=s\_{i,j}= W.
  • 학생 jj가 학생 ii를 이겼으면 s_i,j=s\_{i,j}= L.

출력

학생 uu가 고수이고 dd가 학생 uu의 약점일 때, d{\color{red}d}와 u{\color{red}u}를 공백으로 구분해 출력한다.

답이 여러 개면 아무나 출력해도 된다.

제한

  • 2≤N≤3 0002 \le N \le 3\,000
  • s_i,i=s\_{i, i} = - (1≤i≤N1 \le i \le N)
  • i≠ji \neq j이면 s_i,j=s\_{i, j}= W 또는 s_i,j=s\_{i, j}= L이다. (1≤i≤N1 \le i \le N)
  • s_i,j=s\_{i, j} = W이면 s_j,i=s\_{j, i} = L이다. (1≤i, j≤N1 \le i,\ j \le N)
  • s_i,j=s\_{i, j} = L이면 s_j,i=s\_{j, i} = W이다. (1≤i, j≤N1 \le i,\ j \le N)

예제3

  1. 예제 1

    입력
    2
    -W
    L-
    예상 출력
    1 1
  2. 예제 2

    입력
    3
    -LW
    W-L
    LW-
    예상 출력
    2 1
  3. 예제 3

    입력
    5
    -WLLW
    L-LLW
    WW-LL
    WWW-W
    LLWL-
    예상 출력
    1 4