천상낙원

ACM/ICPC 2006 Asia Regional Contest - Seoul 참가 후기

일상이야기
지난 2006년 11월 3일 백범기념관에서 'ACM International Collegiate Programming Contest / 2006 Asia Regional Contest - Seoul'가 열렸습니다. 저는 예선 탈락으로 대회에 출전하지 못한 까닭으로 진출팀이 아닌 스태프로서 대회에 참여하였습니다. 스태프로서의 참가가 어쩌면 출전팀으로서보다 더 많은 경험을 할 수 있었지않나 싶습니다.



'제6회 대학생 프로그래밍 경시대회'와 '제31회 국제 대학생프로그래밍경시대회' 아시아 지역 대표 선발을 겸하는 대회로 국내 58팀과 아시아 지역의 5팀, 총 63팀이 출전하여 우열을 가렸습니다. 10시부터 15시까지 5시간동안 A부터 J까지 모두 10개의 문제를 풀게되는데요. 서울대학교의 'Do not touch anything'팀이 8문제를 풀어 대상을 받았고, '제31회 국제 대학생프로그래밍경시대회'에도 참여하게 되었습니다. 작년대회의 경우, 중국팀이 출전권을 얻었던 것으로 알고 있는데 이번 대회에서도 해외팀이 출전권을 앚아갈까 많이 걱정되었습니다. 마지막까지 해외팀인 '베이징대학'의 '중산대학'팀, 'Zhongshan Univ.'의 'ZSU_Everest'팀과 치열한 접전을 벌여었는데 다행히도 1위를 지켜냈네요.
(순위 및 결과 확인 http://acm.kaist.ac.kr/forum/viewtopic.php?t=572)

문제는 모두 영문으로 주어지고, 문제에 해당하는 프로그램 소스를 작성하여 PC^2라는 프로그램을 통하여 소스를 검증받게 됩니다. PC^2에서 소스를 확인하여 Sovled, Wrong answer, Time limited.. 등의 결과를 보여줍니다. 이때 올바른 답안이 아닐 경우, 그 문제에 패널티가 주어집니다. 그리고 문제를 해결하는데 소요된 시간 또한 패널티가 됩니다. 다수의 팀이 동일한 수의 문제를 풀었을지라도 이러한 패널티 제도를 통하여 순위를 가리게 됩니다.

각 팀들은 소스나 기타 문서 등 대회 진행시 원하는 문서를 인쇄하여 참고할 수 있는데요. 이번 대회에선 모든 63팀이 1~2대의 프린터를 사용합니다. 이를 위해 (또 다른 이유가 있는지도 모르겠지만) 워터마크를 이용하는데요. 인쇄면에 옅은 배경으로 팀명이 찍혀나오도록 워터마크를 설정해두어 어떠한 팀이 출력한 문서인지 확인하고, 스태프는 인쇄 문서를 해당 팀으로 배달해줍니다.

문제를 해결할때마다 해당 팀에 풍선을 달아주게 되는데요. 각 문제에 따라서 해당하는 풍선의 색상이 있습니다. 문제 A는 빨간색, 문제 B는 하늘색.. 뭐 이런식으로 정해져있습니다. 작년대회까지는 문제 - 풍선색상이 공개되지 않았지만 이번 대회에는 공개가 되었습니다. 대회장 뒤쪽 문옆에 부착되어 있었는데 많은 팀들이 확인을 위해 다녀가더군요. (제가 알고 있는 바로는) 문제 난이도와 관계없이 동일한 배점을 가지고 있어 우선 많은 문제를 푸는 것이 중요하기에, (많이 달려있는 풍선의 색상을 파악해) 좀 더 쉬운 문제를 찾기위한 꼼수가 아니였나 싶습니다. 팀별 문제 해결 현황이 서버실에서부터 대회장의 스태프에게 온라인으로 통보되어 문제를 해결한 팀에게 문제에 해당하는 색의 풍선을 달아주게 됩니다.(작년의 경우엔, 스태프가 직접 서버실에 가서 확인했다고 하더군요.)



이번 대회 역시 인터넷 예선 대회와 마찬가지로 온라인상에 실시간으로 팀별로 해결한 문제 수와 패널티가 공개되었는데요. 패널티까지 알 수 있어, 현재까지의 순위를 바로 확인할 수 있었습니다. 대회장의 뜨거운 열기때문인지(반팔티를 입고도 땀이 날 지경;;) 코치분들이 많이 안보이셨는데요. 아마도 문제 풀이 현황을 보시면서 F5키를 연타하고 계시지 않았을까 싶더군요.

* http://acm.kaist.ac.kr/2006/photo/Photo1.html 에서 대회 사진을 확인하실 수 있습니다.