대회 준비 과정은 이 글 에서 볼 수 있습니다.
0. Prologue
다시 소개를 하자면 저희의 팀명은 DolAndDool 이며 팀원은 gs25, stonejjun03, yijw0930 입니다.
팀의 큰 목표는 월드 파이널 진출이기 때문에 아시아 리저널 진출이 1차 목표이지만, 두 명 모두 서울 리저널 수상 경험이 없기 때문에 수상 또한 목표입니다.
다만 포스텍,연세대,서강대,한양대 등의 늘있는 수상권 근처 wwe 뿐만 아니라 너무 많은 잘하는 서울대/카이스트 팀이 본선에 진출한 것이 큰 악재였습니다.
예비 소집 날 갑자기 마라샹궈가 먹고 싶어졌으며, 매운 것과 ps 실력 어쩌고의 밈도 생각나서 마라샹궈 크게 한 대접을 저녁으로 먹었습니다.
좀 불안했지만 푹 자라, 마음을 비워라, 유튜브나 봐라라고 조언한 karuna의 말에 따라서 딱히 고민 없이 롤토체스를 좀 하다가 잤습니다. 전 대회 때 너무 큰 의미부여를 하고 긴장을 해서 아쉬운 결과가 나왔기 때문에 더더욱 편하게 지냈던 것 같습니다.
대회 날 30분 정도만에 KINTEX에 도착했습니다. 가깝고 꽤나 와본 만큼 홈그라운드 같은 느낌이 들었습니다. 일찍 도착을 해서 plast를 만나 반가운 마음에 인사했지만 저를 기억 못하셨습니다... ㅡㅅㅡ
바람을 쐬며 마음에 드는 커버곡을 듣기도 하고, 주위에 아는 사람들과 인사도 좀 나눴습니다. 특히 한국팀이 우승을 해야 아시아 진출을 할 가능성이 높아지기 때문에 진심으로 우승을 응원하는 말 또한 전했습니다. 다만 옛날과 다르게 참가자에 아는 얼굴이 굉장히 적다고 느껴 슬펐습니다.
팀원들과 "특정대화" 를 하고 농담도 하며 긴장을 풀었습니다. 전문 중 일부를 발췌하면 아래와 같습니다.
"나 suffix automaton 공부했는데 진짜 좋더라."
"근데 님 그럼 eertree도 공부 했음?"
"아니, 안했는데?"
"ㅋㅋ 근데 나도 몰라 그래서 팀노트에도 없음"
"ㅋㅋㅋㅋㅋㅋ"
주위에 알고 있는 강팀이 없다는 것을 확인했고 간식은 가방에 담아 책상에 내려놓은 후, 기다리고 있으니 반가운 목소리가 이러한 대사를 외치는 것을 들을 수 있었습니다.
시작~~~~~하겠습니다 !!!
1. Opening
모니터를 오른쪽으로 옮길 수 없어 gs25가 템플릿 작성, 제가 efgh, yijw가 ijkl을 보게 되었습니다. 이렇다할 진전이 없었으며, 보고 있는 문제들이 심상치 않다고 느꼈기 때문에 A가 풀리자마자 A를 보러 갔습니다.
그렇게 풀이가 나온 후 5분 정도면 구현을 한다고 선언하고, 5분만에 Wrong answer을 뽑아내었습니다. 그 사이 yijw가 C를 보고 있었으며, gs25는 G와 B를 보다가 L로 넘어갔습니다. 그 사이에 A에서 틀린부분을 찾아내어 고쳤고, B를 풀기 시작했습니다.
A : AC (00 : 24) (+1)
B는 보고서 너무 많은 팀이 풀었지만 이분 매칭밖에 생각이 안나 그냥 이분매칭을 짜기로 했습니다. 그렇게 좀 오래 걸릴 거 같은 구현을 했지만 예제가 나오지 않았고, 출력을 요청한 후 C 풀이가 나온 yijw 에게 넘겼지만 코드가 오지 않았습니다.
얼핏보니 제출 기록에 Wrong-Answer가 보였고... 팀원한테 미안하다고 한 후 다시 출력요청을 했습니다.
그리고서 제출한 C에서는 TLE가 떳기 때문에 악재의 연속이 겹친 오프닝이었습니다.
B : WA
C : WA
시작 후 1시간 시점의 상태입니다. 이 시점에 1등팀은 무려 5솔을 하고 있었습니다. UCPC 때는 초반에 1등을 했었을만큼 초중반 타이밍에 강점이 좀 있는 팀이라고 생각을 했었기 때문에 위와 같은 상황은 더 아프게 다가왔습니다.
2. 상승
바로 이어서 gs25가 L 구현을 시작했습니다. 저는 B코드, yijw는 C코드를 확인하고 있었습니다. 고쳐야 되는 부분을 모두 확인한 저는 빠르게 컴퓨터를 뺏어 고친 후 제출을 하여 AC를 받았습니다. 이후 바로 gs25가 L에서 AC를 받았으며, 곧바로 이어서 yijw가 C에서 최적화 할 수 있는 부분을 열심히 찾아서 수정했지만, C에서는 여전히 TLE가 났습니다.
B : AC (01:09) (+1)
L : AC (01:13)
C : WA
J풀이도 마저 정리된 gs25가 컴퓨터를 이어 받아 빠르게 구현을 하여 깔끔하게 구현을 성공시켜주었으며 저는 문제들을 읽다가 F로 넘어갔고, yijw가 마침내 C에서 AC를 띄우게 됩니다!!!!
J : AC (01:24)
C : AC (01:34) (+2) (First Solve!!!)
C에서 퍼솔을 이루는 쾌거를 보였지만, 사실 이제부터 시작입니다. 정확히는 그동안 밀려있었던 문제를 해결한 것이기 때문에 패널티 싸움에서도 굉장히 불리합니다. 그래도 굉장히 좋은 분위기 속에서 저는 F, gs25는 K, yijw는 D를 보기 시작했습니다.
어렵지 않게 F 풀이를 생각해낸 D에서 저와 2D 세그를 짜야한다고 주장한 yijw, K의 풀이가 나와 정리하고 있는 gs25가 있었고, midgame 목표는 이 3문제의 해결로 잡았습니다. 제가 F풀이를 마저 정리하는동안 yijw가 2d 세그를 구현했으며, 정리가 끝난 후에 컴퓨터를 뺏고 30분 선언 후에 구현을 끝마쳤습니다. 결과는... AC!
초반에 말린 것 이상으로 열심히 복구가 되고 있었기 때문에 박수와 환호를 많이 내뱉었으며, 분위기도 굉장히 좋았습니다.
저는 다른 문제들을 읽었으며, gs25가 이어서 K 구현을 진행했지만, wa를 받게 됩니다. 먼저 봐주고 있던 yijw는 D로 보내고 제가 이어서 도움을 한 결과 suffix가 아닌 prefix인 것을 확인하고 고쳐서 제출했지만 예상치 못한 TLE를 받게 됩니다.
F : AC (02:22)
K : WA * 2
3시간이 지난 시점에서 10등이라는 꽤나 준수한 성적을 거두고 있었으며 K에서 살짝 막혔으나 고치는 중이고, D도 어느정도 디버깅에 돌입 중이었기에 꽤나 희망적인 상황이라고 생각했습니다.
3. 고전
K에서 26N에서 줄일 방법을 생각하고 있던 중에 monotone technique이 생각이 났으며, gs25에게 다른 문제를 보게 할까 하다가 그 코드에서 조금만 고치면 되는 거였기에 옆에서 봐달라고 하고 구현을 했습니다. 다만 계속해서 TLE와 예상치 못한 RE가 나왔기 때문에 나와서 천천히 gs25에게 풀이 설명을 하였습니다.
이 과정에서 전부 빼다가 다시 하나를 넣지 않아도 된다는 것을 증명하고 들어갔었는데 설명을 하다보니 하나를 다시 넣어야 한다는 것을 깨달았습니다. 이 파트까지 설명하니 gs25도 풀이를 납득했고, D에서 2d 세그의 결과가 나오지 않아 힘들어 하고 있는 yijw를 뒤로 하고 수정을 하였으나 아직도 TLE를 받게 됩니다.
멘탈이 굉장히 흔들리고 있는 시점에서 이상한 파트에 의심을 계속 하고 있었고, 마지막에 min값을 바꿔주는 chmin 함수가 int 형으로 되어 있다는 사실을 깨닫게 됩니다. 이 부분까지 고치고 나니 AC가 나오게 되었습니다.
K : AC (04:00) (+5)
4시간 시점에서 11등이긴 했으나, 엄청난 패널티를 가지고 있었고, 나온 풀이는 0솔이며 2d 세그에서 고전하고 있는 D 하나 뿐이었습니다.
4. 엔드 게임 - There is no game
gs25는 D를 도와주었으며, 저도 D를 도울까 하다가 H를 읽었습니다. H를 읽으면서 바로 큰작을 쓰면 될 것 같다고 생각이 되었기 때문에 gs25에게 설명을 하려 했으나 문제를 보는 방향성과 스타일의 차이로 소통에 문제를 겪게 됩니다.
이 시점에서 팀원을 소집하여 D or H의 선택과 집중을 선언했습니다. H를 보기로 하였기 때문에 문제를 읽고 온 yijw에게 H 풀이를 설명해주었고 애매해서 고민 및 정리 있던 부분을 yijw가 할 수 있는 것 같아 구현을 넘겼습니다. D에서 멘탈이 나갔다고 힘들다고 말했지만, 내 구현에 자신이 없어 yijw가 키보드를 잡고 3명이 같이 트리플 페어 코딩을 하기로 하였습니다.
구현을 했고, 디버깅을 도우며 했고, 마지막에 딱 제출을 했습니다!!!
하지만 결국 WA를 받으며 대회가 끝나게 되었습니다.
결국 프리즈 이후에 하나도 풀지 못하며 존재하지 않는 엔드게임이 되고 말았습니다.
5. 정리
7솔 중에서도 패널티 때문에 하위권으로 예상했으며, 무엇보다 프리즈 이후에 6솔팀 중 1솔을 더한거 같은 팀이 많이 보였기 때문에 수상은 못할 것으로 보였고, 적당히 한국팀이 우승한다는 가정하에 아시아는 나갈 것으로 예측 되었습니다.
딱 못할만큼 못하고 잘할만큼 잘했으며, 팀원 모두가 잘한점과 못한점이 있다고 생각했으나 gs25는 굉장히 망연자실해 하고 있었습니다.
발전해야할 점과 중간에 있었던 소통 관련 이슈들 등에 대해서 건피(건전한 피드백)을 진행하면서 담아두었던 생각들이나 말을 교환하고 발전을 도모 했습니다.
특히 관찰 -> 대략적 풀이와 감각 -> 풀이의 증명, 마무리 -> 구현 부분에서 저는 1,2 번에 강점이 있었고, gs25는 1,3 번에 강점이 있었기 때문에 이러한 부분에 대해서 이야기 하고, 각자 부족한 점을 열심히 보완하는 것으로 결론지었습니다.
개인적으로 생각하는 부분에서 yijw는 C에서 굉장히 잘해주었으나 D를 오래 잡다가 말려버렸고, gs25는 jkl에서 잘해주었으나, k의 구현 이슈에서 두 명에게 의지한 점과 문제 해석이슈가 있었으며, 저는 전반적으로 풀이를 잘 내었으나 초반에 느린 속도와 WA로 패널티를 쌓는데 기여했으며 K에서 늘 있던 증명 디테일 문제와 H에서도 구현 자신감으로 인해 떠넘ㄱ니 점이 아쉬웠습니다.
개인적으로는 8솔을 했으면 정말 할만큼 했다고 생각할 수 있었을텐데라는 아쉬움과, 그래도 서울 리저널에서 이 정도 못한거면 그리 못한거 까지는 아니다, 참작해줄만 하다라는 생각을 하였습니다.
왜냐하면 최근 19~23 기출을 쭉 풀면서 해가 갈 수록 문제가 어려운 것과 별개로 까다롭고 팩팩?해졌다는 느낌을 강하게 받아 서울리저널에서는 엄청 잘 말리게 되고, 실수가 엄청 나오며, 본 실력을 발휘하기 어렵다라는 인식을 강하게 가지고 있었기 때문입니다.
6. 발표
큰 기대는 하지 않았습니다. 그런데 6솔팀들이 계속해서 7솔브로 넘어가지 못하는 모습이 보였기 때문에 희망이 조금씩 자라났으나, 저희는 H를 풀지 못했다는 것을 알고 있었으며 이미 14등 밖으로 밀려나 있었기 때문에 아쉽게 마무리 되었다고 생각했습니다.
그런데...
Let DnD get Awards ???!!!!
해외팀들의 참전을 까먹고 있었습니다. 결과적으로 저희는 장려상(발표 보드 오류)을 수상하게 되었으며, 아마 수상 발표당시 반응은 대상감이었습니다. 처음으로 공개된 수상팀이기도 하며, 팀원 전부가 수상을 못할것이라고 생각하고 있었기 때문에 더욱 격렬한 반응이 나오게 되었습니다.
그렇게 최종 등수는 16등, 한국 팀 기준 12등으로 장려상을 수상하게 되었습니다.
최고의 결과는 아니었지만, 그래도 열심히 노력했고, 그 증표가 남았기에 굉장히 값진 결과이지 않을까 싶습니다.
팀원들이 팀대회를 해보지 않아서 좀 더 혹독하게 말하고, 주장하고, 진행해왔는데 정말 잘 해준 팀원들에게도 너무 고마운 것 같습니다.
///
옆에 블아 행사가 끝나기도 했고, 또래 참가자가 거의 없어 딱히 모임 없이 그냥 제공해준 국밥을 먹었습니다... 대회중에 밥도 안먹을 정도였네요. 또한 새삼 4학년인게 크게 느껴지네요.
7. Apilogue
DnD (필자는 Trpg를 꽤나 좋아하기 때문에 팀 약자를 DnD로 표기하는 것을 즐깁니다) 의 여정은 끝나지 않았습니다. 아마 아시아 퍼시픽 대회 진출은 안정권인 것으로 알고 있습니다.
값진 성과도 얻어냈지만 결국 저희 팀이 목표하는 바는 ICPC WF 진출이기 때문에, 약점은 보완하고 체급도 키운 성장한 DnD가 되어 돌아올 예정입니다.
정말 많은 사람들의 도움이 있었습니다. 다만 이를 안고 가지는 않으려 합니다. 부담을 털어내는 쪽이 저와는 좀 더 잘 맞는 것 같더라구요. 다만 좋은 성적을 거두고 와서 감사인사로 보답하겠습니다!
그럼 싱가포르에서 뵙겠습니다!
See you at The 2025 ICPC Asia Pacific Championship! ... and ... Let DnD go WF !
'일상 > 대회 참가 후기' 카테고리의 다른 글
DolAndDool 의 2024 ICPC 준비기 (0) | 2024.12.01 |
---|---|
SCPC 2022 본선 후기 (4) | 2022.09.17 |
UCPC 2022 본선 후기 (2) | 2022.07.25 |
ICPC 2021 예선 후기 (5) | 2021.10.10 |
UCPC 2021 본선 후기 (0) | 2021.08.19 |