본문 바로가기

PS

다?소 주관적인 ICPC Asia Pacific Championship 후기

2024년 3월 2일, 베트남에서 Asia Pacific Championship이 개최되었다. 대충 어떤 구조로 대회가 열리는지 설명하자면,

 

1) 대한민국, 일본, 베트남, 인도네시아, 대만(+ 싱가포르, 태국)에서 ICPC 지역 리저널이 열린다. 각 리저널의 1등 팀은 월즈 파이널 직행 티켓을 얻는다.

2) 1)에서 월즈 티켓을 받지 못한 팀들 중 특정 순위 이상의 팀들을 Asia regional으로 초대한다. 일종의 패자부활전이라고 할 수 있다.

3) 이렇게 모인 각국의 팀들끼리 대회를 치루고, 여기서 invited team을 제외한 후 총 7개(확정) + alpha개의 월파 티켓을 상위 대학에 지급한다. 관례적으로 총 12대학? 정도라고는 하는데 이번에는 어떻게 될지 모르겠다.

 

로 요약할 수 있겠다. 우리 팀은 https://kwoncycle.tistory.com/12에서 언급했듯 지역에서 11등을 했고, 베트남으로 초청을 받아 대회를 치루었다. 그리고...

찰칵 by baekjoon

와우! 무려 아시아 전체 11등, 대학 10등이라는 발군의 성적을 거두며, 월파 직행 티켓을 확정짓는 것은 물론 리저널 동상까지 타는 성과를 이루었다. 사실 대회 전까지는 월파만 보내주면 그랜절하고 감사히 받겠습니다- 라는 마인드였는데, 생각보다 훨씬 높은 결과를 얻어서 참 신기하고도 황홀한 마음이다.

 

아무튼 이제 하고 싶은 말을 해보자. 받을 거 다 받아놓고 이런 말을 하는게 기만질일 수도 있는데, 우리 팀의 전력은 개개인으로 보았을 때는 다들 어딘가에 하자가 있다. 특히 이런 수준 높은 대회의 참가자들과 비교했을 때, 각각의 능력은 수상권의 팀들에 비해 상당히 딸린다고 자신있게 말할 수 있다. 실제로 누가 서울 리저널이랑 아시아 리저널에서의 코포 평균 레이팅을 모아서 낸 통계가 있는데, 여기서 우리 팀은 상위권 팀들 중에서는 최하위에 속했다. 하지만 팀연습때나 실전때나, 우리의 퍼포먼스는 이를 훨씬 상회하였고, 이는 높은 성적으로 이어졌다. 어떻게 이게 가능했던 걸까, 인비지블섬띵이란게 실제로 존재하는걸까? 대충 팀원 소개도 하면서 우리가 잘할 수 있었던 이유를 얘기해보고자 한다.

 

 

leo020630: 팀 내 PS 활동을 가장 많이 한다. 그만큼 씹덕 지식과 웰노운을 많이 알아 딸깍 자료구조 문제나 국밥 문제에 강하지만, contructive, 애드혹, 수학 등 능지를 타는 문제를 만나면 개같이 멸망한다. 또, 케이스워크나 구현이 더러운 문제에서는 무수한 WA를 박는 성향이 있다. 실제로 저 사람은 팀 연습때 실버 케이스워크에서 12틀을 박은 전적이 있으며, 최근 코드포스에서도 비슷한 이유로 한번에 2284점에서 2151점으로 수직낙하를 해버렸다. 또, 코딩 속도가 매우 빠르지만(본인 피셜 코포가 10분이라면 본인은 2900을 갈 수 있다고 한다), 정확도가 완전히 보장되지는 않는다. 문제의 유형과 상관없이 어이없는 실수로 심심할 때마다 WA를 적립하는 습관을 가지고 있고, 패널티를 1557로 수렴시키는데 큰 기여를 하는 등 어딘가 모자란 모습을 많이 보여준다.

 

그래도 팀연습 때 매번 셋을 골라온다거나, 필기구와 종이를 마련해오는 등 팀 내에서 부모님 같은 역할을 맡고 있다. 애는 착해요. 또, 후술할 petamingks가 '응애 난 국밥보다 오마카세가 좋아'를 외치며 던져대는 국밥 문제를 꾸역꾸역 해치우고, 때에 따라 souless coding machine의 역할을 맡기도 하는 등 래오가 팀내 1옵션인 것은 부정할 수 없는 사실이다. (요약: 펜싸개종이싸개코딩싸개패널티싸개아오래오시치싸개)

 

 

petamingks: 래오와 완전히 반대되는 성향의 PS 스타일을 가지고 있다. python으로 코딩을 하며, 이 때문에 풀이가 맞음에도 TLE를 맞는 억까를 무수히 당한다. 특히 segment tree는 TLE 기피대상 1호로, 이런 요인들 때문에 국밥 문제, 그래프 유형의 문제들을 극혐한다. (근데 python보다도 그냥 게을러서 저러는 거긴 하다) 코드포스에서도 div1 B에 그래프가 보인다 싶으면 시원하게 제끼고 C를 풀러가는 대가리 깨진 역배충 마인드를 가지고 있으며, 작년까지는 이게 안 먹혀서(그리고 막 간절하게 올릴 의지도 없어서) 블루 현지인으로 살다가, 어느 순간 깨달음을 얻은 건지 저런 식의 역배가 통하게 되면서 오렌지로 떡상에 성공했다. 팀 연습 때에도 문제를 읽고 대충 쉬운 국밥 문제다 싶으면 바로 래오에게, 구현 거지같은 문제면 나에게, 그 외 재밌어보이는 문제면 자기가 잡아버리는 등, 정말 자신에게 맞는 문제들만 골라서 푸는 성향이 강하다.

 

앞선 내용만 보면 뭐 저딴 게 다있지 싶지만, 이 사람은 이것들을 상쇄시킬 수 있을만큼 강한 직관력을 가지고 있다. 대충 어 이거 맞는 것 같은데? -> 아 헛소리였네 -> 아 그럼 이렇게 하면 되나? 를 조금 반복하다 핵심적인 관찰을 해버리는 경우가 많으며, 이것을 거치고 나면 래오나 내가 풀 수 있는 꼴로 문제가 바뀐다. 또, 이것에 기반한 때려맞추기 능력이 괜찮아서, 종종 다이아 상위 문제나 코포 상위 문제에서 때려맞추기에 성공해 홈런을 치고는 한다.

 

여담으로 팀 내에서 슼갈 포지션을 담당하며, 팀명에 1557을 넣은 것을 속죄하기 위해 대회장 및 시상식에서 T1 자켓을 입고 나갔다. 그의 진심이 통했는지, VNU의 현지 대학생에게 Do you hate GenG? 라는 질문을 받고야 말았다.

 

 

kwoncycle: 앞서 서술한 두 명의 중간 지점 어딘가에 있는 PS 스타일을 가지고 있다. petamingks와 마찬가지로 키보드보다는 종이를 잡을 때 더 강력하며, constructive, 수학, 관찰 쪽에서 강점이 있다고 생각한다. 그렇다고 누구처럼 특정 유형을 아예 배제하는 타입은 아니고, 플레 중반의 티어까지는 유형과 관계없이 대부분 커버할 수 있을 정도의 숙련도를 가지고 있다. 하지만 CTF와 PS를 병행하고 있는 탓에 비교적 PS에 쏟은 시간이 부족하고, 이 때문에 위 둘에 비해 고급 알고리즘의 지식이 많이 부족한 편이다. 구현 부분에서는 코딩을 신중하게 하는 편이라 일단 코드가 완성되면 앵간하면 한 번에 맞는 편이고, 이 덕분에 팀 내에서 케이스워크, 깡구현 같은 유형의 문제를 짬처리하고 있다. 다만 구현량이 늘어날수록 O(코드길이^2)의 시간복잡도로 렉이 걸리면서 멸망하는 편이라 이런 경우 적당히 로직을 정리한 후 souless coding machine을 불러 조종한다.

 

 그리고 멘탈이 상당히 약하다는 단점이 있다. 지문 해석이 잘 안되거나, 타자가 잘 안쳐지거나, 마우스 감도가 이상하거나, 아니면 그냥, 그리고 그 외 등등, 온갖 것에 긁히는 성격을 가지고 있다. 이 때문에 팀이 전체적으로 말린 상황이 닥치면 퍼포먼스가 매우 저하되며, 분노의 샷건으로 책상을 부숴버리곤 한다. 대회 때에도 약 3~4번의 샷건이 발사되었고, 청량한 총성은 테이블을 타고 반대편 강력한 우승후보였던 일본의 Speed Star 팀에게 전달되어 그들의 심금을 울렸다. (아님말고) 그리고 이것의 스노우볼이 굴러가 서울대학교 NewTrend 팀이 1등을 차지하게 되었고, 결과적으로 이 샷건은 애?국 행동이 되어버렸다. 대회가 끝난 직후에 건너편으로 바로 찾아가 시끄럽게 해서 죄송하다고 사과했고, 다행히도 잘 받아주신 것 같다.

 

여담으로 AllSolvedin1557이라는 팀명을 지은 장본인으로, 담원이 롤드컵을 들기 시작했을 때 롤을 보기 시작해 아직도 그때의 담원을 그리워한다. 현재는 그냥 모두까기 상태이다.

 

 

 

아무튼, 위에서 소개한 대로 이 팀은 어디 하나 정상인 사람이 없다. 하지만 이 셋이 모였을때 발생하는 시너지는 정말 상당한 편인데, 보면 알겠지만 각각의 팀원이 가진 단점이 다른 팀원에 의해 정확하게 상쇄되고 있다. 이를테면,

 

leo020630: 수학, 더러운 문제에 약함 -> petamingks, kwoncycle로 깔끔하게 커버 가능.

petamingks: 국밥을 안함, 더러운 문제 싫어함 -> leo020630, kwoncycle로 깔끔하게 커버 가능.

kwoncycle: 멘탈이 약함, 아는게 없음, 손이 느림 -> leo020630, petamingks로 깔끔하게 커버 가능.

 

얼핏 보기에는 그냥 입만 산 게 아니냐고 말할 수 있는데, 그건 절대 아니라고 분명히 말할 수 있다. 12번의 팀연습, 그리고 2/2 타율을 기록중인 두 번의 ICPC 대회까지, 위의 이론은 실제로 잘 적용되고 있음을 우린 증명했다. 이 외에도 3명 다 어느 정도 유관 DNA가 있다는 점, kwoncycle과 petamingks의 사고의 흐름이 비슷해 관찰 문제에서 좋은 퍼포먼스가 나오는 점 등 다양한 요인이 있지만, 다 쓰기에는 너무 많으니 줄이도록 하겠다.

 

CTF 쪽도 그렇고 여기도 그렇고, 난 팀운이 정말 좋은 편이다. 이런 식으로 서로의 장단점이 상호보완이 완벽하게 되는 팀을 만난 것은 정말 큰 행운이라고 생각한다. 대회 준비 전까지만 해도 오렌지따리 3명이 해봤자 어디까지 가겠어 하고 크게 기대를 하지 않았는데, 연습과 대회를 하면 할수록 한계가 느껴지기보단 오히려 포텐이 넘쳐흐르는 느낌을 받았다. 솔직히 말하자면, 연습 때 이 성장세면 좀 있으면 숭실대 팀도 이길 수 있겠는데-라고 농담 반 진담 반으로 얘기가 오갈 정도였다. 물론 이번에 붙어보니 아직 한참 멀었다는 걸 깨달았다. 진짜 존나 잘하신다, 괜히 악귀가 아니다... 그래도 아직 개방될 포텐이 훨씬 많이 남아있다고 생각해서, 월드파이널 전까지 우리끼리 더 각성을 해온 후에 다시 붙어보고 싶다.

 

아무튼 실력적으로 정말 많이 성장한 한 달이었고, 인생동안 이렇게까지 꾸준히 무언가를 열심히 해본 적이 있나 싶을 정도로 알차게 준비를 했던 것 같다. 쏟은 시간이 결실을 맺은 것 같아 정말 뿌듯하다. 당분간은 굴러다니는 돌만 봐도 행복하고, 롤체 마빵으로 꼴아박아도 행복하고, 뭐 그런 상태이지 않을까 싶다. 마지막으로 한달동안 같이 달려준 팀원들 leo020630, petamingks, 그리고 포스캣에서 연습을 도와주신 menborong, Hyperbolic, slah007, 같이 팀연습을 도와준 SCC, Cookie, 2 3 5 8 14, 그리고 짐꾼과 어지러움을 담당한 co-coach qjatn0120까지, 감사의 말씀을 전합니다.

 

 

(베트남 내의 여행+대회 후기까지 쓰려면 너무 길어서, 2부에 쓰거나 아니면 그냥 래오 블로그에 투척할 예정입니다.)

'PS' 카테고리의 다른 글

2023 ICPC Seoul Regional  (2) 2023.11.27
2023 POSTECH Programming Contest 출제 후기  (0) 2023.05.30