ACM-ICPC 대전 리저널 후기

[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]

아침에는 어젯밤 늦게(2시) 잤던 관계로 살짝 피곤했습니다. 저는 아침에 잘 일어나는 편이라 제 때 일어났는데 나머지 두 명은 거의 좀비였음 ㅋㅋ

아침은 숙박했던 숙소에서 제공해줬는데 빵과 오렌지 주스, 주먹밥, 샐러드 등이 나오더군요. 처음에 간단하게 주먹밥과 반찬을 먹은 뒤 빵을 먹었습니다. 아침 먹고 짐을 싸고 내려와서 대회장 가는 차 안에서 모자란 잠을 약간 보충했습니다.

대회장에서는 대회 시작 전까지 강당에 모여서 대회 시간까지 기다렸습니다. 어제 예비소집 때 오지 않았던 설곽팀이랑 구경을 위해 부산에서 온 계절학교 친구랑 만나서 수다를 좀 떨다가 대회장에 들어갔습니다.

초반에 코딩 빠른 지학이가 쉬운 문제(A, G, I, L, K)를 초고속으로 짜서 적은 패널티를 만들어 놓고, 중반에 제가 J를 짜는 동안 옆에서 수학 잘하는 석환이가 수학 문제(C) 일반항을 유도하는 전략을 썼습니다. F는 그림만 보고 어려운 문제인 줄 알고 넘겼는데 지학이가 풀었습니다. 총 합을 최소화해야 하는 줄 알고 또 어려운 문제인 줄 알았는데 알고보니 최대값의 최소화여서 파라메트릭으로 쉽게 짜더군요.

그 동안 석환이가 C 일반항 유도에 성공해서 AC를 받았습니다. C를 모든 팀 중 최초로 맞춰서 다른 팀이 7문제였는데 저희 팀이 8문제로 1시간 가량 1위를 유지했었습니다. 옵저버라서 안 보였지만.

그 뒤로는 E를 제가 짜고 B를 지학이가 짜면서 서로 번갈아가면서 코딩 막힐 때 마다 자리를 바꾸면서 코딩했습니다. 코드 인쇄하면 가져다 주는데 그게 디버깅에 큰 도움이 됐습니다. 제가 E를 마무리해서 9문제가 되고, 어제 언급한 도쿄대 팀도 9 문제로 한동안 2위에 있었는데 도쿄대 팀이 10문제로 치고 올라가더군요. E 풀고 나서 D를 풀다가 화장실에 간 사이 후배가 B를 AC 시켰고, 10 문제를 풀었습니다.

D를 석환이의 방법대로 제가 코딩을 했는데 자꾸 TLE가 나서 좀 큰 데이터를 직접 넣어 본 결과 처리를 잘못해서 N^2 커팅을 유도했엇는데 실수로 N^3으로 짰다는 걸 발견했습니다. 그게 마감 4분전이라 열심히 고쳤는데 결국 틀렸습니다. 나중에 풀이를 들어보니 O(N)이라더군요.

옵저버 성적을 언급하지 말라는 얘기가 있었는데 푼 문제 수는 풍선도 주고 했으니 아마도 말해도 되는 것 같습니다. 패널티는 비밀입니다.

대회 끝나고는 네이버의 음성인식 강좌 및 NHN 홍보, 넥슨의 ‘게임의 재미를 구성하는 세 가지 축’이라는 강의를 들려주더군요. 넥슨 강의는 NDC 가서 직접 들었던 거 두 번째 듣는거라 재미가 없었습니다.

네이버 음성인식 알고리즘은 흥미롭기는 했는데 5시간 연속 코딩하고 와서 지쳐 있는데 듣는 강의라 정말 말 그대로 더 이상은 Naver… Zzz

강의 다음에는 풀이가 진행되었습니다. PPT는 영어인데 한국어로 풀이를 해서 외국 팀들은 못 듣지 않았을까… 풀이를 듣고도 D랑 H는 아직 어떻게 풀어야 되는지 모르겠더군요. 나중에 다시 풀어봐야 할 듯.

풀이 끝나고 스코어보드 프리즈 된 뒤 어떻게 변했는지 보여주는게 있었는데 이게 꿀잼이었습니다. 글로 잘 설명은 못하겠는데 막 틀렸다 맞았다 바뀌는걸 긴장감 있게 조절하더군요. 많이 틀리면서 꾸준히 제출하면 막 박수쳐주고 그랬음. 대부분 많이 틀리면 결국 틀렸지만…

대회 끝나고 거기서 출장뷔페를 먹고 돌아왔습니다. 쇼고 무라이는 역시나 오늘도 대식가. 학교에 9시 반 쯤 도착하고 12시 쯤 집에 도착했네요.

여튼 좋은 성적을 거둬서 기분이 좋습니다. 정말 재밌는 이틀이었습니다. 이 기세로 IOI도 나갈 수 있으면 좋겠네요 ㅠㅠ

ps) 알고스팟 채팅방 눈팅하다가 방금 H 풀이를 이해했네요. 문자열 어려워…

댓글 남기기