답의 상한을 저격하는 데이터입니다.
Input(Python 3): GitHub Gist
Output: GitHub Gist
이동 횟수에 제한을 걸어서(ex. 여신들은 최대 20억 번 움직일 수 있다) 답이 너무 커지면 불가능하다고 판단하도록 하면 데이터 수정 없이 문제를 살릴 수는 있습니다. 이 조건을 추가한다면 위의 데이터의 첫 번째 테스트 케이스의 답을 0
으로 하고 채점 데이터로 추가해 주세요.
11579번 - 초차원전쟁 이나
답의 상한을 저격하는 데이터입니다.
Input(Python 3): GitHub Gist
Output: GitHub Gist
이동 횟수에 제한을 걸어서(ex. 여신들은 최대 20억 번 움직일 수 있다) 답이 너무 커지면 불가능하다고 판단하도록 하면 데이터 수정 없이 문제를 살릴 수는 있습니다. 이 조건을 추가한다면 위의 데이터의 첫 번째 테스트 케이스의 답을 0
으로 하고 채점 데이터로 추가해 주세요.
댓글을 작성하려면 로그인해야 합니다.
jh05013 5년 전
이 문제는 3-SAT에서 다항 시간 환원이 가능한 NP-하드 문제인 데다가, 답을 기하급수적으로 키울 수 있습니다. (답의 상한은 doju님이 지적하셨습니다.)
NP-하드라는 점은 간단하게 해결할 수 있습니다. 원래는 NP-하드가 아닌데 조건이 하나 빠진 것이기 때문입니다.
위 조건은 모두 assert문으로 확인하였습니다.
하지만 풀이를 수정하지 않으면서 답의 상한 조건을 해결할 방법은 찾지 못했고, 아마 없을 것이라고 생각됩니다. 현재 "도달 가능한 입력"의 답이 int 범위에 있음은 assert문으로 확인하였으나, 그렇게 조건을 걸어도 "도달 불가능한 입력"에서는 아무것도 보장할 수 없습니다.