← Review
Review

ICPC 2025 리저널 본선 후기

흔들린 중반을 지나 여덟 문제를 해결하기까지, Just Reboot JungSangHwa 팀의 다섯 시간을 복기합니다. (AI로 생성한 slop 문구)

PREPARATION

TEAM
Just Reboot JungSangHwa
UNIVERSITY
Pusan National University
MEMBERS
kolorvxl, qvixnh22, 6729skl

2025 서울 리저널은 이름과 달리 부산 벡스코에서 열렸다. 부산대 카르텔 척결 좀.거리에 대한 부담이 줄어서 그런지 부산대 예선 팀이 예년보다 많았다. 안타깝지만 그 중 살아남은 팀은 우리 밖에 없었다.

예선 이후 정상화는 주기적으로 5시간 팀 연습을 돌며 팀 자체의 체급을 키웠다. 개인적으로도 많은 노력과 재능으로 나 자신의 체급 또한 키워갈 수 있었다.

CONTEST

예비소집 2일 전에는 경희대의 Memoria 팀과 저녁을 먹었다. 참여 인원은 kolorvxl, qvixnh22, yyyy7089, jwpassion1이다. 메모리아는 정상화와 꽤 닮았다. 팀의 전력도 비슷하며 학교의 전반적인 PS 상황도 유사하다.

예비소집 날에는 디스코드에서만 본 분들을 만나러 다녔다. yyyy7089님, cywohoy님은 이유 없이 자주 봤고, tjrn3712님, trashmouse0524님은 잊을 만하면 내가 찾아갔다. 다른 분들이 더 있었는데 잘 기억나지 않는다.

예비소집이 끝나고 나서 cywohoy님의 무리에 자연스럽게 끼어 저녁을 먹으러 갔다. 참여 인원은 kolorvxl, 6729skl, cywohoy, davidkim0, loreips3115, cenix820이다. 카이스트의 잘 몰랐던 세 분도 사실 KSA 카르텔이라 mythofys님의 친구라서 mythofys님을 찬양하면서 친해졌다.

대회 당일에는 스태프로 계시는 kwoncycle님이랑 leo020630님을 뵈었다. 수상을 노리는 마음으로 에너지 음료를 들고 야심차게 대회장에 들어갔다. 내가 주황색 음료를 마시고, qvixnh22님에게 레드 퍼포를 내라고 빨간색 음료를 드렸던 기억이 있다.

Just Reboot JungSangHwa의 분 단위 순위 변화대회 진행 시각은 위에서 아래로, 순위는 왼쪽 1위에서 오른쪽 84위로 표시됩니다.0:000:301:001:302:002:303:003:304:004:305:001102030405060708084
0:00

팀원 셋 다 스피드포스에 약해서 바로 치고 나가기 어려웠다.

0:10

스코어보드에 L, M 솔브가 올라오기 시작했다.

0:15

6729skl님이 L 풀이를 찾고 구현에 들어갔다.

0:20

나와 qvixnh22님이 거의 동시에 M 풀이를 냈다. 6729skl님을 밀어내고 먼저 구현했다.

0:25

6729skl님이 다시 키보드를 잡고 L을 구현했다.

0:35

C에 대한 두 풀이가 있었다. 6729skl님은 격자 그래프, 나는 LCA + 기하를 떠올렸다. 풀이는 6729skl님의 것을, 구현은 내가 맡기로 했다.

0:40

G에 대한 풀이가 나왔는데, 나는 누가 풀이를 냈는지는 모른다.

0:50

D에 대한 풀이 고민도 있었으나, 결론적으로 어려운 문제라고 보고 미루었다.

1:20

이슈가 발생했다. 구현이 늦어진 것도 문제지만, 문제를 구현한 두 코드가 모두 틀린 것이다.

1:30

qvixnh22님과 6729skl님은 지옥의 G 디버깅 시간을 시작했다.

1:40

나는 그동안 C 디버깅을 했지만 도통 이유를 찾지 못했다. C 리팩토링을 한 후 다시 쭉 훑어봤을 때에도 문제가 없었다.

1:55

결국에는 틀린 이유를 찾지 못했고, 지푸라기라도 잡는 심정으로 리팩토링한 C를 제출했다. 그런데 정말 다행히도 맞았다.

2:20

다행히 C를 맞았지만 아직 G가 남아있었다. G를 풀더라도 겨우 4솔밖에 안 되어서 멘탈이 나갔다.

2:30

그렇게 아직 세 문제밖에 풀지 못한 상태에서 대회의 절반이 지나갔다.

2:35

이럴수록 침착해야 한다는 내 기조에 따라 마침 나온 도시락을 먹으며 여유를 부렸고, 차분해지는 느낌과 함께 E를 보니 관찰이 되기 시작했다...!

2:50

E를 풀 방법이 떠올라서 키보드를 다시 뺏고 바로 구현했다.

2:55

E를 한 번 틀려서 멘탈이 다시 나갈뻔했으나 정신 차리고 디버깅에 성공했다. 다행히 작은 실수였다.

3:05

그 와중에 G를 6729skl님이 아예 새로 짰고, 드디어 기나긴 G 디버깅의 여정이 끝났다.

3:15

D를 계속 읽어보면서 결론을 단순하게 잡아도 될 것 같았고, qvixnh22님께 이야기를 해보자 그렇게 하면 될 것 같다고 해서 빠르게 구현했다.

3:20

다음 스코어보드 상 풀만해보이는 문제는 I와 K가 있었다. 6729skl님이 I를 읽어보고 구현을 하러 갔다.

3:25

qvixnh22님이 K에 불도저를 섞으면 된다는 주장을 했다.

3:30

나는 불도저에 회의적이었다. 둘 중 누가 구현을 하든 남은 시간 안에 불가능해보였다.

3:35

그리고 사실 불도저 풀이를 이해하지 못해서 계속 대화를 했다. 내가 절대 구현하고 싶지 않았던 것도 있다. 겨우 불도저 없는 풀이를 찾으며 상황은 일단락된다.

3:40

그 때 6729skl님이 키보드를 잡고 있었고, 구현 시간을 물어보니 60분 정도 걸릴 것 같다고 해서 그냥 키보드를 뺏었다.

4:20

다행히 I는 명세를 읽고 그대로 구현하면 되는 문제라서 페어 코딩으로 빠르게 구현했다.

4:30

그러고 나서 K를 구현하는데 내적 외적도 헷갈리고 개인적으로 너무 힘들었다. qvixnh22님이 종이에다가 각도 정렬 구현을 써줘서 망정이지...

4:35

6729skl님이 중간에 H 풀이가 나온 것 같다고 말했지만 K를 계속 하는 것으로 결론을 냈다.

4:50

결국, 6분을 남기고 페어 코딩으로 K를 구현해내는데 성공했다!

5:00

6729skl님이 H를 빠르게 구현해서 제출해봤으나 AC가 뜨는 일은 없었다.

우리 팀 제출 기록 21개
  1. MTriple FairnessAC1솔브 · 19분 · 41위 → 40위
  2. LSegmentsWA
  3. LSegmentsWA
  4. LSegmentsAC2솔브 · 85분 · 43위 → 30위
  5. CBayWA
  6. GExtraterrestrial CreaturesWA
  7. GExtraterrestrial CreaturesWA
  8. GExtraterrestrial CreaturesWA
  9. CBayAC3솔브 · 223분 · 59위 → 52위
  10. GExtraterrestrial CreaturesWA
  11. GExtraterrestrial CreaturesWA
  12. GExtraterrestrial CreaturesWA
  13. GExtraterrestrial CreaturesWA
  14. EClean ArrangementsWA
  15. EClean ArrangementsAC4솔브 · 422분 · 58위 → 50위
  16. GExtraterrestrial CreaturesTLE
  17. GExtraterrestrial CreaturesAC5솔브 · 771분 · 50위 → 46위
  18. DBookshelfAC6솔브 · 969분 · 46위 → 36위
  19. IMagic DoorAC7솔브 · 1230분 · 44위 → 33위
  20. KQuadrantsAC8솔브 · 1524분 · 39위 → 23위
  21. HFair ProblemsetWA

AFTER THE CONTEST

대회가 끝나고 다시 행사장으로 돌아왔다. 당시 대화하면서 Memoria도 정말 아쉬운 성적을 거두었다고 들었다. 대회 행사는 재밌었는데 글을 너무 늦게 써서 기억이 잘 안 난다.

전북대 iluem100님과 전남대 팀 분들과 밥을 먹었다. 그러다가 앳코더 시간이 다가와서 도망갔다. 다음 날 코드포스에서 레전드 퍼포먼스를 찍고 레드를 가면서 무려 리저널 본선을 액땜으로 써버리는 기염을 토했다.

대회가 끝나고 다른 리저널도 결과가 나오면서 이 글을 쓸 시점에는 이미 APAC 진출자에게 메일까지 왔다. APAC은 올해 70팀을 선발하며, 정상화 팀은 69등으로 간신히 APAC에 진출하게 된다.

REFLECTION

중반을 그렇게 말고도 결국 8솔에 성공했던 것을 보며 정말 아쉬운 생각이 많이 들었다.

정상화 팀의 고질적인 약점인 스피드포스 문제가 터졌고, 코드 스타일도 달라서 디버깅도 어렵고, 그리고 거기서 셋이 동시에 저점이 뜬 것도 말이 안 되는 일이었다. APAC 전까지는 이 많은 문제를 반드시 고쳐야 할 것이다.

대회 당시에는 IM였지만 GM 퍼포먼스가 꾸준히 뜨던 시기였기에 사실상 1레드 팀이고 사실상 2오렌지팀과 비슷하다 봐야 했다. 실제로 대회가 끝나고 나서 많은 2오렌지팀들 사이에 껴있었고. 그런데 초반을 너무 확실하게 말았다. 오죽하면 중반에는 3블루 팀보다도 훨씬 못한 성적을 이어가고 있었다.

urd05님의 말에 따르면 ICPC는 2700 (혹은 2400) + 뾰족 두 명보다는 2400 (혹은 2100) 육각형 세 명이 사이클을 돌리면서 패널티를 관리하는 것이 더 낫다. 정상화 팀은 역시 구현력이 애매하다. 나도 레드 평균에 비하면 잘 모르겠고, 팀원이 할 것까지 떠맡을 수 있는 능력이 있느냐 하면 절대 아니다. 따라서 결과를 보면 알겠지만 압도적인 패널티를 받으며 패널티 관리를 전혀 하지 못했다.

나 역시 구현을 더 철저하게 깎고 저점 다지기와 고점을 노려봐야겠지만, 이상적으로 팀원들의 구현력까지 올라서 패널티 관리까지 된다면 APAC에서도 꿇리지 않을 것이라 생각한다. 발상력은 좋기 때문에 시간만 벌 수 있다면 WF까지 나아가는 것도 언제까지고 하늘의 별따기이지만은 않을 것이다.