ICPC 2023 Seoul Regional 후기

2024. 1. 3. 19:07Notice/후기

TBU (11월 26일의 나)

라고 놔둔 지 장장 1개월 하고도 몇 일이 지난 뒤에야 후기를 쓴다.

머리가 멍청해질 대로 멍청해진 데다가, 7전공 1청강의 미친 기말고사 스케줄을 완주하느라 ICPC 추억을 버리고 그 공간에 벼락을 넣어버린 터라 잘 기억이 안 나지만... 그럼에도 불구하고 어떻게든 더듬어 쓰려고 한다.

발단은 jhnah917님이 solved.ac 디스코드에 들고 온 raararaara님(서강대의 유명한 월파출신 코치. 올해는 진행요원 역할이셨다.)의 후기였다.

후기의 일부

시간이 나면 써야지 하며 벼르고 있었는데, 정말 절대 올 것 같지 않은 종강이 오고 여유 시간이 제법 남은 지금도 조금씩 후기 쓰기를 미루고 있다. 이 게으른 천성은 작정하지 않으면 거스르기 힘든가 보다. 아니면 이번처럼 그럴싸한 계기가 마법같이 찾아와 주던가.

최종 스코어보드

결론부터 말하자면 전체 74팀 중 4 solved, 39등의 성적으로 대회를 마무리지었다.

상위 50%라면 참 좋겠다는 생각은 했는데, 이렇게 스코어보드를 확인해 보니 D에서 틀리지만 않았어도 37등으로 정확히 중앙을 지킬 수 있었다는 것을 알았다. 조금 허탈한데... 하지만 이런 변명은 다른 팀에도 똑같이 적용할 수 있는지라 안 하는 만 못한 것 같다.

나이 때문에 인생 마지막 리저널이 되었고, 결과에 나는 후회가 없다. 입문 후 1년만에 이 결과를 따내 온 것이면 주관적이지만 잘 한 게 맞다. 해야 할 후회는 조금 더 빨리 시작할걸 정도라고 생각한다.

내년 ICPC는 여건이 받쳐 준다면 인터넷 예선만 치르려고 한다. 설마 레지스터 자체를 불허하겠나. 병풍 둘을 데리고 1인팀으로 바닥을 깔아주거나, 경험이 필요한 휴학생들과 한 팀이 되어 ICPC 경험 디스펜서가 되어주거나. 어떻게든 인터넷 예선은 참가해서 모교에 본선티켓 0.5장을 안겨 주려고 한다.

 

1. 팀노트와 예비소집

now_cow는 발이 넓다. 아니면 내가 인맥이 좁은 것이거나. 아주대학교의 Kimchi_Fridge 팀에는 디스코드에서 매일같이 다리를 비틀리는 동생이 있고, 고려대학교의 Mad3Garlic 팀에도 친구가 있다. 이 이야기를 왜 이 단락에 끼워넣냐면, 저 Mad3Garlic 팀의 팀노트를 가지고 적당한 부분을 수선해서 우리 팀의 팀노트를 만들었기 때문이다.

처음부터 끝까지 팀 맞춤으로 필요한 부분만 집어넣은 팀노트를 만드려면 최소한 반 년 정도는 상시로 연락할 수 있어야 한다고 생각한다. 우리 팀은 9월 말에 결성된 팀인 만큼 그런 부분에서는 조금 미숙할 수 밖에 없었고, 그러다 보니 맞춤형은 아니지만 빠르고 현명한 방법을 택하기로 했다. 다른 팀의 팀노트에서 쓸만하지 않은 부분을 쳐내고 쓸만한 부분만 덧대는 것.

Mad3Garlic 팀의 팀노트가 깃헙에 공개되어 있다는 것을 now_cow가 알려 줬고, 딱 필요한 파이썬 수학과 MST 및 다익, 그리고 C++로는 리차오 트리와 불도저 트릭을 집어넣었다. SIMD나 보르노이 다이어그램 같은 씹덕 고난도의 알고리즘이나 테크닉은 그런 요소를 요구하는 문제가 있더라도 손을 댈 수 없을 것이라는 게 세 명의 공통된 판단이었다.

집에 프린터가 없어서 가는 길에 프린트카페에서 출력을 했는데...

기계의 반란

아뿔싸. 미쳐버린 프린터가 상하좌우, 종이 경계와 가까운 부분을 날려먹고 출력해 버렸다. 왼쪽으로 두 글자, 그리고 페이지 넘버 전부가 유실된 상황. 펜을 항상 들고 다니는 버릇 덕분에 잘려버린 모든 글을 20분 정도의 작업으로 복구할 수 있었다.

목적지인 킨텍스에 도착해서는 팀노트 원안 제공자 Mad3Garlic 팀과 회동을 가졌다. 거기서 수작업으로 복구한 팀노트를 양 팀에게 보여 줬다. 왼쪽 위에 TLE_ttak respect Mad3Garlic을 적어놓은 걸 보고 좋아하시더라. 아니면 말고. 기억미화일 확률도 없지는 않다.

그리고 등록을 하러 올라갔는데 재학증명서를 안 가져 오는 참사가 발생했다. 다행히 제1전시장 쪽에 프린터를 쓸 수 있는 문구점이 있어 팀 내 유일하게 재학증명서를 가져 온 qttw456에게 짐을 맡기고 금방 프린트해 올 수 있었다. 가격이 살벌하던데, 다른 팀은 거기서 팀노트를 프린트하고 있었다. 장 당 1000원이면 치킨이 한 마리일 텐데...

등록하고 나서는 대회 전 대기실에서 연세대 팀과 수다를 떨다가 shiftpsh에게 팬이에요를 시전하고 명함을 얻었다. 인생 처음으로 얻어 보는 CEO의 명함이지만... 아쉽게도 지갑을 지지난 주에 도난당하면서 명함은 이제 없다. 그거 가져가서 뭐하려고...

연습 세션에서는 순서는 잘 기억 안 나지만, 작년 리저널의 B, E, J 문제가 나왔다. J는 전날 기출을 풀던 qttw456이 보자마자 후다닥 구현을 했고, E는 풀었는지 못 풀었는지는 기억이 안 나는데 간선으로 다익스트라를 돌리는 문제였다. 나는 진짜 처음 보는데 다른 사람들은 다 웰노운이라고 한다. B는... 너무 높은 변태같은 난이도의 문제라 아이디어만 살짝 내고 환경을 점검하기로 했다.

한국어를 원천 차단시키고 프린트가 잘 되는지 이것저것 테스트하다 보니 연습 경시 시간이 빠르게 끝났다. 이 뒤로 연세대 팀과 회식이 있었는데, 아침잠이 많은 나는 늦게 자면 망하게 될 것이라는 판단 하에 양해를 구하고 빠졌다. 집은 제법 멀어서 이동 시간까지 고려하면 새벽에 일어나야 해서 일치감치 근처 호텔에 숙소를 잡아 놨다.

인생 첫 호캉스이긴 한데... 즐긴 건 거의 없다. 근처 모텔로 잡았으면 돈은 20만원 덜 썼으려나... 하지만 이것도 경험이다.

20만원 넘는 숙소 (5성급)

 

2. 5시간 트롤러

미리 자서 컨디션을 조절하려는 심산으로 회식까지 빠졌건만, 늦게 일어날 수 없다는 압박감과 처음 치러 보는 온사이트 대회가 콤보를 이루어 단 1초도 긴장을 늦추지 못했다. 침대와 이불은 겪어본 것 중에서 가장 푹신하고 아늑했는데, 긴장을 하도 하다 보니 바늘방석과 다를 것이 없었다. 거의 30분에 한 번씩 깨서 시간을 확인한 것 같다.

게다가 새벽 4시 40분 이후로는 아무리 눈을 감아 잠을 보충해 보려 해도 잠이 안 와서 피로가 머리통을 짓누르는 상태였다. 컨디션이 거지 같아서 대회에서 예상한 만큼의 성과를 내지 못했다 같은 합리화를 하려는 게 아니라. 그냥 그랬다고.

아마 이런 경험을 한 번만이라도 더 했다면 그나마 익숙해져서 긴장을 덜 수 있었을 텐데 아쉽다.

 

대회장에는 토템을 들고 갈 수가 없었다. 그 말인즉슨 어제 화웨이에서 나눠 준 피젯 토이인 질뻐기를 들고 갈 수 없었다는 거.

심지어 필기구도 지참이 안 돼서 대회장 입장 전 빠꾸를 먹은 친구들이 굉장히 많았다. 니도 그랬고. 사전은 허용하면서 필기구를 불허하는 이유가 왜인지는 모르겠다.

슬퍼하는 양아치 질뻐기

문제별 후기와 타임라인은 다음과 같다.

0:19 D AC (+1)

스택 기초 + 분수 연산을 할 수 있느냐 묻는 문제였다. 유리수를 구현해야 하는 C++보다 내장모듈로 유리수가 마련되어 있는 Python3이 매우 유리했고, 그래서 내가 컴퓨터를 잡고 빠르게 구현을 마무리해서 제출했다. 엣지 케이스를 잊어서 틀렸던지라 원통하기 그지없다.

0:51 I AC

개척을 할 실력이 안 되어 스코어보드를 팔로하면서 많이 풀린 문제부터 손을 대 보기로 했다. G와 I가 있었는데 G를 내가 잡고 고민하는 동안 now_cow가 구현을, qttw456이 손테케와 아이디어를 맡아 스무스하게 I를 잡고 넘어갔다. 그 탓에 아직도 저게 뭘 요구하는 문제인지 모른다.

0:57 G AC

월간 향유회 2023.11 E번과 비슷한 문제였다. 요구하는 것도, 답을 얻는 방식도 완전히 다르지만 카운팅의 기준을 쉽게 생각할 수 없는 쪽으로 한 번 비틀어서 잡아버리면 난도가 낮아진다는 점에서. 시간복잡도를 확신하지 못한 상태에서 틀리면 발상이 틀린 것이라고 생각하고 그냥 예제만 돌아가는 것을 체크한 후 제출했는데 다행히 발상이 정해였다.

3:52 B AC

너무 늦게 긴장이 조금씩 풀린 나머지 살짝 졸다 깨다를 반복하는 추태를 부렸다. 볼펜으로 허벅지를 살짝 찍으면서 내가 H 아니면 C를 깔짝이는 동안 qttw456now_cow가 B를 잡았다.

세그먼트 트리 구현만 하면 된다고 하길래 '그럼 그거 그냥 팀노트에서 무슨무슨 세그먼트 트리 부분에서 무슨무슨을 떼면 구현되는 거 아니냐' 같은 소리를 했고 내 헛소리를 now_cow가 아름다운 AC 두 글자로 바꿔 왔다. 거의 두 시간 동안 혼자서 구현과 씨름했는데, 이 문제에서는 도움이 안 된 것 같아서 슬프다.

이후로는 다른 문제도 간간이 보기는 했지만 사실상 대회 종료나 다름 없었다. 내가 깔짝이던 문제도, 다른 팀원이 깔짝이던 문제도 이렇다 할 해답이 나오지는 않았다.

 

3. 이건 종료가 아니라 축제에요

끝나고 나서도 할 말이 조금 남아 있다.

일단 옆자리가 그 웰노운인 Redshift 팀이었다. 사실 팔로우한 건 스코어보드가 아니라 저 팀의 풍선 색깔이었다 :blobrofl:. 1학기 때는 모르고리즘과 Seogang ICPC Team 간 팀연습 교류전이 제법 있어서 Redshift 팀의 lem0nad3은 얼굴을 한 번 봤었던 것 같다...? 확실하지는 않다. 월파출신 코치 raararaara와는 그 경로로 구면이긴 한데...

월간 향유회에서 P=NP를 증명하여 세계적인 스타 교수가 될 운명으로 결정된 amsminn에게 팬이에요를 시전하고 악수도 했다. heeda0528과도? 악수를 했던 것 같은데? 기억이 이젠 잘 안 난다. 11월 일을 1월에 기억하는 것이니까 사실관계가 맞지 않더라도 너그러운 마음으로 용서해달라...

교수임용 다시 한 번 축하드림

그리고 dbrua1222 쪽은 내가 solved.ac 디스코드에 올린 링크드 리스트 풍선을 보고 찾아와서 악수 한 번 했다. 진짜로 찾아오실 줄은 몰라서 생각 없이 올렸는데 이럴 줄 알았으면 풍선을 조금 더 예쁘게 정렬할 걸 그랬다. 7솔을 했다면 완전 이진 풍선 트리로 달아버리는 건데 실력이 모잘라서 ㅋㅋ

koder0205와는 기념품 교환(?)을 했다. 내 거대한 몸뚱아리에 Presto에서 나눠 준 XL짜리 후드집업이 맞지는 않았는데 다행히 XXL을 가지고 있는 사람과 교환할 수 있었다. 이 자리를 빌어 나도 감사의 인사를 한 번...

jhnah917에게 팬이에요를 시전하는 것이 목표였는데, 워낙 :god:여서 팬이에요를 하려 몰려 든 수많은 사람들에 치여 결국 말도 걸지 못했다. 만일 solved.ac Grand Arena Party에도 오시면 그 때는 제대로 팬이에요를 시전할 예정이다.

폭주하는 사회자가 자꾸 우리 팀 명을 티엘이딱으로 읽는 시상식이 끝나고는 연세대 팀끼리 회식을 했다. SinChonCoders팀과 cookie팀이 예상한 만큼의 성적을 거두지 못해서 분위기가 조금 다운되어 있었는데, 지금은 두 팀 다 베트남에서 열리는 플레이오프에 진출했다. 연세대학교는 플레이오프 진출 팀이 두 팀인 유이한 대학이 되었다. 다른 하나는 숭실대라고.

언제나 중요한 대회 직후 나타나 주시는 전전전 회장님 lky7674가 회식 자리에 나타나 분위기를 북돋아 주셨다. 치킨 값도 쾌척해 주시고. 막상 회식 자리에서 ICPC 이야기는 별로 안 나온 것 같다. 아무래도 그 때는 그럴 분위기가 아니었다. 지금은? 그럴 분위기가 맞는 듯.

 

4. 후기

대부분의 PS 1년은 ICPC를 기점으로 마무리된다. 12월에 치루어지는 메이저 대회도 없고 해서... 그래서 ICPC가 끝난 시점이 1년간의 PS 성과를 되돌아보기에 정말 알맞은 시점이 아닐까 한다.

잘 했나? 잘 했다. 내년... 은 아니고, 벌써 올해이지만 ICPC 리저널에 contestant로 참가하기는 어려워져서 딱 은퇴하기 좋은 시기이기는 한데, 누가 1년만 PS 하고 은퇴하겠는가. 난 아니다. 그럴 생각 없다. 2023년처럼 호화롭지는 않고 수수한 PS 경력이 될 것 같지만, 그럼에도 불구하고 이어나갈 가치는 있는 것 같다. 재밌으니까.

728x90