The Way
2018 ACM-ICPC Seoul Regional 참가 후기 본문
올해의 사실상 마지막 프로그래밍 대회가 될 ACM-ICPC에 참가하였다.
놀랍게도 우리 학교(DGIST)에서는 첫 출전이었다. 때문에 등록할 때부터 학교를 추가하는 데에 굉장히 고생을 많이 했다.
다행히 어찌어찌 예선을 뚫고 본선에 진출하였다.
팀원들과 나름 준비를 하긴 했지만, 그리 열심히 하지도 않았고 객관적으로 보아도 우리 팀은 실력이 많이 부족했다.
팀원들끼리도 그냥 참가에 의의를 두기로 하고, 즐겜하기로 마음먹고 서울로 올라왔다.
11/2(금)
이번 ACM-ICPC가 열리는 곳은 서울의 세종대. 지금까지 대전에서 진행되었는데 올해부터는 서울이다.
등록 때문에 11/2(금) 아침에 올라갔다.
세종대의 시계탑이 참 예뻤다. 마치 버클리에 있는 시계탑을 보는 것 같았다.
1시에 등록을 마치고 나니 3시까지 할 것이 없었다. 주최측에서는 자리에 앉아있으라고 하던데, 당연히 그럴 리 없다.
옆에있는 건국대학교에 놀러왔다... ㅎㅎ 호수가 참 예뻤다. 우리 학교에도 이런 호수가 있으면 좋겠다고 생각했다.
3시가 되니, 연습 세션을 시작했다.
연습 세션은 사실 문제를 푸는 데 의미가 있지는 않고, 컴퓨터 세팅이 주 목적이다.
현장에 있는 90대의 PC에는 우분투가 깔려있었다.. 우분투의 영롱한 색깔에 취한다...
연습 세션 때 1시간동안 열심히 codeblocks 세팅을 했는데, (sudo 권한도 안 줘서 상당히 버거웠다) 나중에 대회 때는 연습 세션이랑 자리가 바뀌었다.
이럴 거면 연습 세션을 왜 하냐고...
그래도 연습 세션 때 세팅을 한 번 해보기를 추천한다. 개인적으로는 vim과 gdb를 좋아하지만 codeblocks 같은 에디터가 디버깅이 더 직관적인 것은 사실이다. 대회 때 프로젝트 만들기 같은거를 못해서 버벅거리면 너무 억울하지 않은가.
숙식 제공을 안하니 연습 세션이 끝나고 팀원들과 헤어졌다. 학교에서 지원이 되는 사람들은 모르겠지만, 아닌 사람들도 있으니 주최측에서 숙식 제공을 안해줄 거면 이틀에 걸쳐서 진행하지는 않았으면 좋겠다. 아침에 일찍 와서 세팅 진행하고, 바로 본 대회 진행해도 충분할 것 같다.
11/3(토)
본 대회날. 10시부터 시작이라 팀원들과 8시 30분까지 모이기로 했다.
근데 팀원 한명이 8시 30분에 일어났다... 하하..
그리고 10시에 대회를 딱 시작했다. 로그인을 하고, 문제지를 배부했다.
나는 A~D번을 받았고, 나머지는 E~H, I~L을 받았다.
뭔가 D번이 꿀문제라는 삘이 와서 보니 진짜 엄청난 꿀문제였다. if문으로 떡칠을 해서 11분에 문제를 풀었다.
(codeforces였으면 2~3분이면 풀렸을 문제 같은데 1등으로 푼 팀이 7분에 풀었으니, 확실히 문제를 읽고 / 로그인 하고 / 세팅하고 하는 시간이 길긴 한 것 같다.)
여담으로 sample output도 잘못되어 있었다.. 2번 output의 waters는 wateres가 맞다.
나머지 문제 중에서는 만만한 문제가 하나도 없었다.
일단 A~C번을 모두 읽고, 그나마 쉬워 보이는 A번 문제를 계속 생각해봤지만 답이 없었다...
A번, B번, 이것저것을 1시간동안 생각했지만 풀지 못했다... 다른 팀도 풍선이 쉽게 늘어나지는 않았다.
1시간쯤 뒤에 팀원이 구현은 조금 까다롭지만 쉬운 문제라고 나한테 구현해달라고 줘서(...) F번을 받았다.
예전에 풀었던 괄호 문자열 내용이라, 또 하드코딩으로 에러 체크를 하고, 열심히 풀었더니 124분에 F번을 풀게 되었다..
이 때 스코어보드를 보니 30등 초반 정도였다. 절반 넘는 팀들은 우리보다 못한다는 안도감과 잘만 하면 목표인 30등 안쪽으로 갈 수 있을 거라 생각해서 이때부터 뭔가 정신이 바짝 들었다.
그 동안 팀원들은 계속 K를 생각하고 있었지만 풀지 못한 듯 했다.
애들보고 A가 그나마 아이디어만 캐치하면 쉬워보이니 이거 한번 생각해보라고 주고 K를 받아서 두뇌를 풀가동했다.
다행히 20분 좀 넘게 생각하니 O(N) 풀이가 보였다. 구현은 상당히 하드한 것 같았지만...
코드를 짜고 열심히 오류를 잡다보니 196분에 K번까지 풀었다.
하지만 스코어보드를 보니 30등 초반 그대로였다..
주위를 둘러보니 초록 풍선이 유난히 많았다. 다른 사람들이 풀 수 있는 문제면 당연히 나도 풀 수 있을 거라 생각해서 L번을 보았다.
다행히 엄청나게 쉬운 문제였다. 다만 한 사람이 일을 생각하면 w+h일 뒤에 다음 일을 시작할 수 있는데, 이걸 h+1이라고 잘못 생각해서 많이 헤맸다 ㅠㅠ 250분에 결국 L까지 풀어냈다.
그동안 팀원들은 A를 열심히 생각하고 있었다. 코드를 보니 $O(n^2)$ 풀이같아 보였지만 50분이 남은 상황이니 팀원들을 믿기로 하고 B번을 봤다.
n의 크기가 500밖에 안되서 그냥 다익스트라만 써서 구현해도(...) 시간 안에 돌아갈 가능성이 보였다.
근데 문제가 d, C, S 등 뭔가가 많아서 이해하는 데 15분을 넘게 쓰고, 팀원들과 컴퓨터가 겹쳐서 결국 혼신의 힘을 다해 코드를 완성했지만 결국 풀지 못했다. 대회가 끝나고 생각하니 경로 중 최솟값을 봐야하는데 최단경로 알고리즘을 그냥 썼더라. 참 정신이 없었나보다.
그렇게 4솔브로 대회를 마치게 되었다.. 30등 초반에서 한 문제를 더 풀었지만 당연히 다른 팀도 풀었을 거니깐 22등 안에 드는 것은 택도 없을 거라 생각하고 마음을 접었다.
나오니깐 대회 기념품을 나누어졌다.
삼성 SDS에서 가방을, 넥슨에서 후드를, PUBG에서 보조배터리를 선물로 줬는데 다 마음에 들었다.
후드는 사이즈가 넉넉하다고 천천히 나가도 된다고 했는데, 늦게 나갔더니 2XL랑 3XL만 남아있었다.. 또 속았다..
기업들이 홍보를 마치고, 수상을 했다. 상식적으로 스코어보드를 먼저 까야하는 것이 아닌가?
그런데 갑자기 우리 팀 이름을 불렀다.
그 때 나의 심정은 대략
흐흐흐
어리둥절행...
수상자를 보니 외국 대학은 제외를 하고 주는 것을 확인할 수 있었다.
외국 대학이 6팀이니 혹시 우리 팀이 28등?이라는 희망을 품었다.
그리고 최종 스코어보드를 깠다.
우리 팀은 31등이었다. 솔직히 상 다시 뺏어갈 줄 알고 조마조마했다..
대상:
서울대 789
금상:
서울대 Black Cow
은상:
카이스트 Deobureo Minkyu Party
서울대 JJJ
서울대 pretty_little_tlwpdus
동상:
카이스트 CMP
고려대 Teeeeeeeeeeeeemo needs blue buff
연세대 Where_is_INSEOP
한양대 FailedSystemTest
장려상:
고려대 -----CENSORED-----
서울대 0016789
카이스트 That Incident
아주대 DID_YOU_TEST_N=1?
고려대 GoInMulDaeGoSipDa
넥슨 특별상:
숭실대 Graduation Gazua!!!
DGIST VISSLLE
삼성 특별상:
UNIST MDMA
전남대 1q2w3e4r!@
네이버 특별상:
성균관대 0_o
경북대 1gunpil2mipil
펍지 특별상:
서강대 no team name
인하대 Hojoonaldo
특별상은 장려상까지 수상하지 못한 대학교 중에서 수상을 하는 것이었다. 그래서 우리 팀이 수상하게 되었다. 감격...
한 가지 반전은 대상을 789팀이 가져갔다는 것.
예선까지 열심히 양학을 하던 흑우 팀의 뚝배기를 깨버리고 1등을 거머쥐었다.
역시 PS계에는 영원한 강자는 없는 것 같다.
수상까지 마친 뒤 만찬을 했다.
솔직히, 내가 먹은 출장뷔페 중 가장 맛있었던 것 같다.
단점이 있다면 사람이 너무나도 많은 것.. 20분은 줄을 서서 기다려야 했다.
상도 받아서 뿌듯했고, 나오니 세종대의 시계탑이 예쁘게 빛을 내고 있었다.
올해 PS를 마무리하는 의미에서, 한 컷 찍어보았다.
4문제를 풀어서 수상했는데 4문제 모두 다 내가 푼 것이라 약간 억울했다.. 이정도면 혼자 출전했어도 상을 받는 부분..
내년에 만약 참가하게 된다면 그냥 친한 애들끼리 나가봐야겠다.
올해 대회는 모두 끝났지만, 내년까지 틈틈히 공부를 해서 코포 레드를 찍고, 내년에는 대회들에서 더 좋은 성적을 내고 싶다.
'PS' 카테고리의 다른 글
2019 ACM-ICPC Seoul Regional 참가 후기 (3) | 2019.11.14 |
---|---|
2020 KAKAO BLIND RECRUITMENT 구경 (0) | 2019.09.07 |
문제 궤짝 만들기 외 (1) | 2019.08.26 |
2019 UCPC 본선 // 마무리 (8) | 2019.08.05 |
2019 SCPC 본선 후기 (1) | 2019.08.02 |