아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

천하제일 게임 대회

시간 제한2초메모리 제한256 MB

요약
무승부가 있는 풀리그의 일부 결과가 주어질 때, 최종 최고 점수를 얻을 수 있는 선수를 모두 찾는다.
난이도

보통10점 중 6점

유형
그래프, 그리디, 구현
정답자
아직 제출이 없습니다

문제

"천하제일 게임 대회"는 세계에서 가장 유명한 게임 대회이다.

모든 선수는 다른 모든 선수와 정확히 한 번씩 1:1 경기를 치른다. 각 경기에서 이긴 선수는 1점을, 진 선수는 0점을 얻고, 비기면 두 선수 모두 0.5점을 얻는다. 모든 경기가 끝나면 점수가 가장 높은 선수가 우승자가 된다. 점수가 가장 높은 선수가 여러 명이면, 우승자가 한 명 남을 때까지 그 선수들끼리 타이브레이크 경기를 치른다. 따라서 최종 점수가 최댓값과 같은 선수라면 누구나 우승할 가능성이 있다.

대회는 아직 진행 중이며 일부 경기만 끝난 상태이다. 각 선수에 대해, 아직 치르지 않은 경기들의 결과를 적절히 정하여 그 선수가 최종적으로 최고 점수(공동 1위 포함)에 도달하도록 만들 수 있으면 그 선수는 "우승할 수 있는 선수"이다. 우승할 수 있는 모든 선수를 찾아라.

입력

첫 번째 줄에 테스트 케이스의 수 TT (T≤100T \le 100)가 주어진다.

각 테스트 케이스는 다음과 같이 주어진다.

  • 첫 줄에 선수의 수 nn (2≤n≤302 \le n \le 30)이 주어진다.
  • 이어지는 nn개의 줄에 현재까지의 중간 결과가 n×nn \times n 격자로 주어진다. ii번째 줄의 jj번째 문자는 ii번 선수와 jj번 선수의 경기 결과를 나타낸다.
    • 1 : ii번 선수가 이김
    • 0 : ii번 선수가 짐
    • d : 비김
    • . : 아직 경기를 치르지 않음
    • x : i=ji = j (자기 자신과는 경기하지 않음)

중간 결과는 서로 모순되지 않는다. 즉 ii행 jj열이 1이면 jj행 ii열은 0이고 그 반대도 성립하며, d 또는 .인 칸은 대칭 위치의 칸과 값이 같다.

출력

각 테스트 케이스마다 한 줄에, 우승할 수 있는 모든 선수의 번호(1-indexed)를 오름차순으로 공백으로 구분하여 출력한다.

예제1

  1. 예제 1

    입력
    3
    5
    x.11d
    .x1d1
    00x.0
    0d.x.
    d01.x
    7
    x00111.
    1x01d.d
    11x1.00
    000x000
    0d.1xd1
    0.11dxd
    .d110dx
    7
    x00011.
    1x00d.d
    11x0.0.
    111x111
    0d.0xd.
    0.10dx.
    .d.0..x
    
    예상 출력
    1 2
    1 2 3 5 6 7
    4