데스스타
시간 제한1초메모리 제한256 MB
쌍별 비트 AND가 행렬의 대각선 밖 값과 일치하는 사전순으로 가장 앞선 수열을 복원합니다.
- 난이도
보통10점 중 4점
- 유형
- 비트 연산
- 정답자
- 아직 제출이 없습니다
문제
젊은 제다이 이반은 데스스타에 침투해 파괴하는 임무를 맡았다. 데스스타를 파괴하려면 길이 의 음이 아닌 정수 수열 이 필요하지만 이반에게는 그 수열이 없다. 대신 오랜 친구 다스베이더에게 받은 쪽지가 있고, 쪽지에는 수열이 만족해야 하는 조건이 적혀 있다.
쪽지에 적힌 것은 크기 의 정사각 행렬이다. 번째 행 번째 열의 값 는 와 에 비트 and 연산을 수행한 결과다. 광선검에 쪽지가 상해서 주 대각선의 값은 읽을 수 없고, 입력에서는 0으로 주어진다.
조건을 만족하는 수열은 여러 개일 수 있고, 적어도 하나는 항상 존재한다. 그중 사전순으로 가장 앞서는 수열을 복원해 이반을 돕자.
입력
첫 줄에 행렬의 크기 ()이 주어진다.
다음 개의 줄에는 행렬의 각 행이 주어진다. 각 줄은 공백으로 구분된 개의 정수 ()로 이루어진다. 주 대각선의 값 는 모두 0이고, 인 위치는 를 만족한다. 조건을 만족하는 수열이 적어도 하나 존재하며, 그 수열의 원소는 모두 이하이다.
출력
조건을 만족하는 수열 중 사전순으로 가장 앞서는 것을 한 줄에 출력한다. 개의 정수를 공백 하나로 구분한다.
사전순 비교는 첫 번째 원소부터 차례로 값을 비교해, 처음으로 값이 달라지는 자리에서 더 작은 쪽을 앞선 것으로 본다.