본문 바로가기

일기

overflow

https://www.acmicpc.net/problem/31286

 

31286번: 철도 2

$N = 6$, $U = [0, 1, 2, 3, 4]$, $V = [1, 2, 3, 4, 5]$, $W = [3, 1, 4, 1, 5]$인 경우를 생각해 보자. 그레이더는 다음 함수를 호출한다. travel([0, 1, 2, 3, 4], [1, 2, 3, 4, 5], [3, 1, 4, 1, 5]) 모든 가능한 $(x, y)$ 순서쌍에 대

www.acmicpc.net

이번 선발고사 4번 문제이다.

O(N^2logN^2)까지 짜서 당시 37점을 먹었는데 그 코드에서 꽤 직관적인 관찰 하나로 필요한 mst 간선만 남기면 바로 100점이 나오는 문제였다.

풀이를 듣자마자 이걸 왜 못맞췄지 소리가 절로 나왔다. 그리고 그 날 바로 정답 코드를 짜놓고 게임하러 갔다.

 

그리고 어제 문제가 올라왔다. 바로 제출을 했는데..

 

 

 

 

?

분명 맞을텐데 27점이 긁힌다. 그리고 27점은 트리가 특별한 케이스는 모두 맞았다는 소리고, N<=50도 틀렸단 소리다.

분명 claim은 맞을텐데 라고 생각하면서도 반례를 찾기 위해서 2시간 동안 온갖 트리를 다 그리고 온갖 증명을 했다. 근데 아무리 봐도 틀린게 없다. 그렇게 몇번 더 제출했지만 실패하고 그냥 내일 랜덤 테케 돌리자고 생각하고 잤다.

 

 

 

 

다음 날에 랜덤 트리 제너레이터 짜는 법을 대충 본 다음에 적당히 O(N^2logN^2) 코드랑 검사해봤는데 반례가 안 나왔다. 한 10분 정도 돌려놨는데 보일 기미가 없었다. 그래서 혹시? 하고 weight 제한을 기존 제한인 10^9로 하니까 반례가 바로 나왔다. 분명 어제 봤을 때는 오버플로 문제는 없었던 것 같았는데..?

 

 

 

 

 

 

 

 

 

(정점, "거리") 를 저장하는 변수이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

괜히 int 쓰지 맙시다

'일기' 카테고리의 다른 글

2월 PS (2)  (1) 2024.02.11
2월 PS (1)  (0) 2024.02.04
1월 23일, 24일 PS  (0) 2024.01.24
코포특)  (0) 2023.12.13
9/22 PS  (1) 2023.09.22