개인적인 생각인데..
(edg){lx[i+1].first - lx[i].first,lx[i].second,lx[i+1].second};
이렇게 구조체 초기화 하는 부분에서 알 수 없는 난리 부르스가 일어나지 않았을까 추측합니다.....
구조체 초기화를 저렇게 하는걸 본적이 없는건 아닌데..머나먼 옛날에 저거 하나만 고쳐서 AC가 나온적이 있어서 답글을 달아봅니다ㅋㅋㅋ
컴파일러 버그의 가능성도 염두에 두셔야 합니다.
지금 http://wcipeg.com/problems/desc/coci097p4 에서 C++11로 테스트해보고 왔는데 AC가 뜨는거 보니 버그도 염두해야 겠네요.. 참고로 해당 사이트는 g++ 4.9.1입니다.
생성자 때문에 틀린거 같지는 않습니다 바꿔서 내봤는데 여전히 틀리네요 ㅠ
댓글을 작성하려면 로그인해야 합니다.
koosaga 9년 전
실수로 문제 번호를 까먹었네요 https://www.acmicpc.net/problem/2887
http://codepad.org/kcA7N9Z9 -> WA
http://codepad.org/wMzI0oc4 -> AC
하지만 보다시피 두 코드는 Union-Find 트리의 uni 함수에서의 세줄을 제외하고는 동일한 코드입니다.
정말 수없이 틀렸는데, 두 코드의 차이를 확인하신 분은 알려주실 수 있나요 ㅠㅠ
참고로 C++11에서만 WA가 뜨는 듯 합니다.