3월 초에 대만 타오위안에서 치뤄진 Asia Pacific Championship에 한양대학교 NJG팀으로 참가했다. Asia Pacific Championship은 아시아 태평양 지역 리저널 대회들의 상위 팀들이 모여 World Finals 진출을 위해 다투는 대회이다. 올해는 한국 서울, 일본 요코하마, 대만 타이청, 인도네이사 자카르타, 태국 방콕, 필리핀 마닐라, 베트남 호찌민시 리저널에서 온 팀들이 참가했다.
글을 작성하기 앞서 팀원인 준호의 글을 첨부한다.
https://gubshig.tistory.com/98
팀
팀 이름은 NJG인데, 팀원들의 이름에서 알파벳을 하나씩 가져와서 지었다. NJZ를 의도하고 지었는데, NJZ를 모르는 사람 1명이 반대했지만 민주적인 방법으로 잘 해결했다.

팀원은 김준호(gubshig), 노경민(gmroh06), 정성준(jsj0412)이다.
1. 김준호(gubshig)
25학번. 정보올림피아드를 열심히 준비하여 자료구조, 트리, DP 최적화 같은 티피컬한 문제에서 강점을 보인다. 매일 디스코드에 상주하며 떡밥으로 떠오르는 문제를 슥 읽어본 후, 풀이만 내고 구현은 하지 않는 습성이 있다. 이로 인해 아는 건 많지만 그걸 코드로 구현하는 과정에서 무한 디버깅에 빠지는 등의 문제가 있었다. 팀연습을 몇 번 말아 먹은 후, 구현 구체화를 매우 많이 하는 방법으로 어느 정도 해결되었다. 애드혹, CP를 극도로 혐오하여 코드포스, 앳코더 등을 거의 치지 않는다. 편식 이슈로 인해 셋에 따라서 퍼포먼스가 하늘과 땅을 오간다. DnC 최적화 같은 문제가 나온다면 다이아 중위도 무난히 풀어 내지만, 애드혹이 많은 셋을 돌면 0솔을 하기도 한다.
2. 노경민(gmroh06) - 나
25학번. 고1 때 PS를 조금 했지만 제대로 하진 않았고 쉬었음 인생을 살다 고2 때 물로켓으로 정올 동상을 받으면서 고3 때 본격적으로 시작했다. 고등학교 때 폐급 인생을 살았다는 위기감 때문인지 작년에만 2000문제 이상을 풀며 정말 열심히 했다. 열심히 한 덕분에 저점이 매우 높은 편이다. 대회 초반에 풀리는 문제를 나머지 둘이 모르겠다고 던지면 내가 해결하는 경우가 많았다. 반면, 팀 연습 중 의미 있는 다이아를 풀어낸 적이 손에 꼽을 정도로 고점은 높지 않은 편이다. 또, 제출을 생각없이 하는 편이라 페널티를 소소하게 쌓는 경우가 많다. 실제로 이번 대회에서 우리 팀의 틀린 제출 4번 중 3번이 내 제출이었다.
3. 정성준(jsj0412)
24학번. 대학교 동아리에서 처음 시작해서 1년 반 만에 오렌지를 찍었다. 그만큼 재능은 확실한 듯 하지만 HLD를 모르는 등 티피컬한 문제에서 약점을 보인다. 장점으로는 나와 준호의 지식이 0에 수렴하는 문자열 분야에서 강점을 보인다. 문자열 만큼은 다이아 문제들을 자력솔하는 것도 여러 번 봤을 정도로 잘하는 것 같다. 내가 문자열을 하나도 몰라서 잘하는지 못하는지 판단이 잘 안되긴 하지만. 그러나 팀 연습이나 대회 중에서 풀 수 있는 문자열 문제가 나온 적이 거의 없어서 써 먹질 못하는 중이다. 그 외에도 문자열 할거면 아예 짬처리로 기하까지 하라고 강매당해서 기하도 담당하고 있다.
3명의 공통된 약점으로는 수학 실력이 처참하다는 점이다. 특히 정수론, 조합론 등에서 다이아몬드 이상의 문제가 나오면 절대 풀지 못한다. 또한, 특징을 보면 알겠지만 우리 팀의 고점이 터지려면 준호가 잘 푸는 티피컬한 문제가 나와야 한다. 조건이 꽤나 까다롭지만 중요한 점은 서울 리저널과 아챔이 이 조건들을 대체로 만족한다는 점이다.
전략
대회가 시작되면 문제지를 각자 1/3 정도씩 받아 읽기 시작한다. 대충 읽은 후 예상되는 알고리즘 종류에 따라 잘하는 팀원에게 분배한다. 초반에 풀리는 문제의 경우, 배분하지 않고 각자 잡고 푸는 편이다. 대부분의 경우는 해결되지만 그렇지 않은 경우는 다른 팀원에게 던진다. 쉬운 문제를 못 풀었다는 건 잘못된 풀이로 빠졌을 가능성이 높기 때문에 초반에는 풀이를 잘 공유하지 않는다. 초반 속도가 빠른 편은 아니지만 풀어야 하는 문제를 셋 다 못 푸는 경우는 거의 없다.
중반에는 스코어보드를 따라가며 풀린 문제들 중 각자 잘하는 문제들을 맡는다. 각자의 강점이 명확하여 중반의 솔브 속도는 꽤 빠른 편이다. 우리 팀의 특징으로는 중반부터 토론이 매우 활발하게 일어나고 그 시너지가 대단하다. 실제로 대회의 당락을 가르는 결정적인 문제를 토론을 통해 풀어낸 경우가 많았다. 서로 계속해서 관찰을 던지다가 한 명이 그 관찰을 이용해서 풀이를 떠올리는 방식이다. 단, 중반에 3명 모두 한 문제를 고민하지는 않는다. 팀 연습을 하며 토론의 효율이 가장 좋은 건 2명이었기 때문이다.
후반에는 남은 문제들 중 솔브 가능성이 가장 높다고 생각되는 문제에 올인한다. 그러나 후반에 솔브가 나온 적이 많지 않아서 후반 전략은 보완이 필요하다고 생각한다.
팀 연습을 하면서 한 명의 저점만 높아도 팀의 전체적인 안정감이 꽤 많이 올라간다고 느꼈다. 특히 우리 팀은 세 명 모두 본인 분야에서의 저점은 매우 높은 편이라 셋이 한 쪽 분야에 치우친 경우가 아니라면 좋은 성적이 안정적으로 나온다. 여기에 고점이 하나라도 터지면 매우 좋은 성적이 나오게 된다.
대회 이전
우리 팀은 25-2학기에 결성되었다. 25-2학기에는 서울 리저널을 준비하기 위해 팀 연습을 1주에 1번 정도로 꽤 많이 했다. 처음에는 퍼포먼스가 처참했지만 시행착오 과정에서 팀합이 매끄러워졌고 중요한 전략들을 발견했다. 그 결과, 퍼포먼스가 점점 좋아져 서울 리저널에서 예상보다 높은 성적을 거둬 입상도 하고 아챔에도 진출할 수 있었다.
우리는 아챔에 진출했으니 기왕이면 목표는 월파로 잡고 겨울 방학에 최선을 다하기로 약속했다. 나는 1월 말에 해외 여행을 가기 전까지 하루에 버추얼을 1개씩 돌았다. 그러나, 팀원들의 잔디 상태가 처참했고 열심히 하라고 독촉했지만 어림도 없었다. 여행을 다녀온 후에는 나도 석이 나가 버추얼을 멈추고 문제 출제에 집중했다.
게다가 나는 본가가 대전이었기 때문에 제대로 된 팀 연습은 3월 초에 2번이 전부였다. 상태가 이렇다 보니 나는 아챔에 대해 기대를 하지 않았다. 대회 직전까지 고등학교 때 무수히 경험했던 공부를 하지 않아 망쳐도 상관 없는 시험 같이 느껴졌다.
대회
대회 이외의 잡다한 것들은 준호의 블로그에 잘 나와 있으니 나는 5시간에 대해 자세히 서술하겠다.
~ 0:35 (K AC +1)
스코어보드에 가장 먼저 K가 풀렸다. 준호가 가장 먼저 읽었지만 슥 보더니 나한테 던졌다. 읽어 보니 틀리기 상당히 쉬워 보이는 많조분 그리디였다. 구현 구체화를 제대로 안 하고 짜는 바람에 구현 속도가 좀 느렸고, 케이스 하나를 빼먹어서 1번 틀린 후 맞았다. 늦게 푼 데다 페널티까지 쌓아서 기분 좋은 스타트는 아니었다.
~ 0:43 (J AC)
그 사이에 준호가 J를 풀어왔다. 내가 구현하는 동안 풀이 구체화를 끝낸 덕분인지 빠르게 구현해서 한 번에 AC를 받았다.
~ 1:30 (C AC +1) 1:33 (H AC +1)
스코어보드에서 많이 풀리는 문제는 C와 H였다. C는 성준이 형이 잡고 H는 준호가 잡았지만 나에게 넘겼다. H는 처음에 접근 방향을 잘못 잡아서 고생했다. 그러던 중 그럴싸 한 가설을 세워서 제출해 봤지만 틀렸다. 이후 성준이 형도 C의 풀이가 나와서 구현하고 제출했지만 틀렸다. 풀이가 나온 두 문제가 모두 틀려 버려 상황이 좋지 않았다. 그러던 중, 제대로 된 풀이를 찾아냈다. 내가 세운 가설은 맞았지만 해를 구하는 과정에서 말도 안되는 기초적인 실수를 했다. 성준이 형도 틀린 점을 찾아 AC를 받았고, 나도 바로 넘겨 받아 AC를 받았다. H를 느리게 푼 점은 아쉬웠지만 전체적인 순위는 나쁘지 않았다.
~ 1:59 (E AC)
그 사이 준호는 E를 보고 있었는데, 작년 숭고한 대회에 나왔던 롤백 mo's 트릭을 사용하면 쉽게 풀린다며 풀이를 내왔다. 나와 성준이 형이 키보드를 잡고 있던 사이 충분히 구체화를 끝냈고, 빠르고 정확히 구현해서 AC를 받아냈다. 이 문제에서 말린 팀들이 많았던 것을 생각하면 준호의 고점이 터진 순간이었다.
~ 3:13 (B AC +1)
이제 풀어야 할 문제는 B와 F였다. 내가 처음에 F를 봤지만 풀이의 방향성도 잘 잡히지 않아 B를 보기 시작했고, F를 성준이 형과 준호가 보기 시작했다. 처음에 매개변수 탐색으로 접근을 시작했는데 운이 좋게도 올바른 방향이었다. 여기서 계속 사고를 발전시켰고, 이미 유리한 서브트리는 건드릴 필요가 없어서 이를 하나의 정점으로 압축할 수 있다는 관찰을 했다. 이 관찰을 기반으로 30분 정도 더 고민한 끝에 구현을 시작했다. 구현은 트리 DP로 어렵지 않았지만 넣지 않아도 되는 확인 코드를 넣었다가 한 번 틀렸다.
~ 3:19 (F AC)
성준이 형이 가로 방향과 세로 방향을 나눠서 접근하는 방법을 생각해 냈다. 한쪽은 매우 쉽게 구할 수 있었지만 반대쪽이 문제였다. 그 부분을 나도 고민해 봤지만 해답이 쉽게 나오지 않았다. 나는 B를 고민하러 가고 둘이 족히 1시간 정도는 고민했다. 내가 B를 구현하고 있던 순간 갑자기 성준이 형 입에서 FFT라는 말이 나왔다. 나도 성준이 형이 치매에 걸린 줄 알았다. 나는 절대 맞는 풀이가 아닐 거라고 생각하고 계속 B를 구현했는데 옆에서 들어본 준호가 맞다는 말을 했다. FFT에 대한 이해도가 높은 준호가 FFT 부분을, 성준이 형이 나머지 부분을 구현했다. FFT를 로컬에서 돌렸을 때 꽤 오래 걸려서 TLE를 걱정했지만 다행히 AC를 받을 수 있었다. FFT나 수학 문제를 몇 번 풀어 보지도 않은 성준이 형이 FFT 풀이를 생각했다는 점이 기적이고 고점이 나온 부분이라고 생각한다.
~ 5:00
이후 많이 풀린 문제는 D와 I였다. I는 어려운 수학 문제처럼 보여서 절대 풀 수 없다고 판단하고 3명 모두 D를 고민했다. 남은 시간이 꽤 있었기 때문에 여유롭게 접근했지만 생각보다 풀이가 나오지 않았다. HLD를 비틀어 DP해야 하는 문제였는데, 토론하는 과정에서 내가 풀이의 대략적인 방향을 잡았고 준호가 새로운 아이디어를 추가해 완전한 풀이를 완성했다. 하지만 남은 시간이 부족했고, 이를 구현하던 중 대회가 종료되었다.
결과
처음에는 D를 풀지 못해 월파에 진출할 수 없을 것으로 생각했지만, 경우의 수를 따져 보니 우리 팀 위로 올라올 수 있는 팀은 3팀이었다. 그리고 그 중 한 팀만 올라오지 못해도 우리가 월파에 진출한다는 것을 알게 되었다. 게다가 The Revenge of shinchan에 LGM이 있긴 하지만 스코어보드가 프리즈되자마자 한 줄을 그었다는 얘기를 듣고 어느 정도 안심이 되었다.
그렇게 스코어보드를 오픈하는데 The Revenge of shinchan이 갑자기 0솔이었던 L을 풀어 버렸다. 대회를 던진 것이 아니라 풀고 싶은 문제를 푼 것이었고, 우리는 절망했다. 남은 두 팀이 D를 프리즈 전에 이미 푼 상황이었기 때문에 상대적으로 쉬운 문제들을 풀었을 확률이 높다고 생각했다. 살면서 그 정도로 긴장되는 순간은 처음이었다. 만약 월파에 가지 못한다면 페널티를 쌓은 내 책임이 큰 상황이었기 때문이다. 손발이 가만히 있질 못했고 술도 좀 먹었다.
다행히 후보 중 하나였던 bonsai가 B를 풀지 못하면서 멸망했고, 그렇게 우리는 16시드 중 16번째로 월파에 진출했다.


대회 이후


대회 다음 날, 맛있는 음식도 먹고 전북대 팀과 함께 타이베이 101 근방을 함께했다. 전북대 팀 세 분 중 두 분이 나와 같은 대전 출신이라서 반가웠다. 커피숍에서 꽤 오랫동안 대화를 나누고 저녁 식사도 같이 했다. 재밌는 얘기도 많이 듣고 즐거운 경험이었다. 나중에 다시 만날 수 있으면 좋겠다!
맺음말
대회는 3월에 끝났는데 후기를 이제서야 올리는 이유는 월드 파이널 발표가 6월에야 났기 때문이다. 원래는 훨씬 일찍 났어야 할 발표인데, 이유는 이란 때문으로 추정된다. 덕분에 우리는 발표만을 기다려야 하는 애매한 시간을 3달이나 보내야 했다. 그래도 다행히 대회가 더 미뤄지는 최악의 시나리오는 피했고, 예정대로 진행되는 듯해서 다행이다. 특히, 두바이라는 장소가 더 월파를 설레게 만들었는데 바뀌지 않아서 다행이다.
공식 발표가 난 지도 어느덧 한 달 가까이 지났지만, 여전히 실감이 잘 나지 않는다. 나를 포함해서 누구도 우리가 월파에 갈 거라고 예상하지 못했을 것이다. 팀원들끼리도 서로 "이거 진짜임?"을 셀 수 없이 말했던 것 같다. 나의 실력에 비해 너무 과분한 결과라 이번 결과가 더더욱 얼떨떨하게 느껴지는 것 같다.
어쩌다 보니 1학년에 참가한 첫 ICPC에서 최고의 결과를 얻게 되었다. 26-27 시즌에는 hibye1217, gubshig, gmroh06 팀으로 ICPC에 참가할 예정이다. 팀 연습을 몇 번 같이 해본 적이 있는데 hibye1217님 혼자서 NJG와 대등한 퍼포먼스를 내는 걸 보고 경악했다. 다음 팀은 NJG보다 훨씬 강한 팀이 될 것 같아 1인분을 하려면 더 열심히 해야 할 것 같다. 소망이지만 만약 1학년, 2학년 ICPC에서 모두 월드 파이널에 가고 나서 은퇴한다면, 이보다 더 완벽한 마무리는 없을 것 같다.
'기타' 카테고리의 다른 글
| Narayana number (1) | 2026.01.06 |
|---|---|
| 2차원 세그먼트 트리의 새로운 구현 (0) | 2025.08.05 |