koosaga   9년 전

실수로 문제 번호를 까먹었네요 https://www.acmicpc.net/problem/2887


http://codepad.org/kcA7N9Z9 -> WA

http://codepad.org/wMzI0oc4 -> AC


하지만 보다시피 두 코드는 Union-Find 트리의 uni 함수에서의 세줄을 제외하고는 동일한 코드입니다.


정말 수없이 틀렸는데, 두 코드의 차이를 확인하신 분은 알려주실 수 있나요 ㅠㅠ


참고로 C++11에서만 WA가 뜨는 듯 합니다.

pichulia   9년 전

개인적인 생각인데..

(edg){lx[i+1].first - lx[i].first,lx[i].second,lx[i+1].second};

이렇게 구조체 초기화 하는 부분에서 알 수 없는 난리 부르스가 일어나지 않았을까 추측합니다.....

구조체 초기화를 저렇게 하는걸 본적이 없는건 아닌데..머나먼 옛날에 저거 하나만 고쳐서 AC가 나온적이 있어서 답글을 달아봅니다ㅋㅋㅋ

ZZangZZang   9년 전

컴파일러 버그의 가능성도 염두에 두셔야 합니다.

koosaga   9년 전

조언 감사합니다!


저도 저것때문에 골썩은적이 몇번 있어서 지금 대체제를 찾고 있는데 잘 안 보이네요 ㅠㅠ 생성자를 만드는 걸 시도중인데 포인터에서 하던대로 하니까 에러가 뜨고 ㅠ

koosaga   9년 전

지금 http://wcipeg.com/problems/desc/coci097p4 에서 C++11로 테스트해보고 왔는데 AC가 뜨는거 보니 버그도 염두해야 겠네요.. 참고로 해당 사이트는 g++ 4.9.1입니다.


생성자 때문에 틀린거 같지는 않습니다 바꿔서 내봤는데 여전히 틀리네요 ㅠ

댓글을 작성하려면 로그인해야 합니다.