Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Miscellaneous

2024 ICPC Seoul Regional 예선 후기 본문

후기

2024 ICPC Seoul Regional 예선 후기

5-ms 2024. 11. 3. 22:52

지난 10월 26일에 열린 2024 ICPC 예선 대회에 참가했습니다. 

http://static.icpckorea.net/2024/first_round/scoreboard_10282200/

 

Spotboard

Spotboard from algospot.com, wookayin and Being CSUS Programming Contest System Icons from FatCow

static.icpckorea.net

 

3솔로 118등 마무리

 

 교내 알고리즘 동아리에서 활동하면서 "그래도 대학생활동안 ICPC 본선은 가봐야하지 않을까?"하는 마음이 굴뚝같았습니다.

 작년 군 복학 이후 2학년에 처음으로 ICPC 예선에 참여했고, 그때 성적은 단 1솔...이었기 때문에 본선은 멀리서 바라만 볼 수 밖에 없었습니다. 

 올해 예선은 3학년으로 참여하게 됐는데, 조기졸업까지 생각하면 앞으로 ICPC에 참여할 수 있는 기회가 없을 것 같아서.. 여름 방학 전부터 팀을 결성하여 서둘러 준비했습니다. 

그 결과, 가톨릭대 드림팀(?), NormalizeICPC(gh08077, aibf80815, dfdfg1)가 구성되게 됩니다. 

 

사실, 저희 팀의 원래 목표는 UCPC 본선 진출이었습니다. 나름 방학동안 동아리도 하고, 같이 코포도 돌리면서 열심히 공부했었는데... UCPC는 결국 예선에서 탈락했습니다. 그러면서 자연스레 "그래도 ICPC는?"하며 ICPC 본선 진출을 목표로 연습했습니다. 

 

 저희 팀 세명 모두 작년 예선을 치룬 경험이 있습니다. 당시 결과는 1솔/0솔/1솔이었구요 ㅎ...
그렇다보니 "솔브 수만으로 본선에 가기는 어렵다! 우리는 농어촌전형이 답이다!"하며 연습했습니다.

(비하의 의미는 아니지만, 저희끼리 3솔+학교1등을 ICPC 농어촌 전형이라고 불렀습니다ㅎㅎ..)

 

 틈틈이 코포도 치고, ICPC 골랜디도 하면서 팀원과 연습했고, 그 결과 E,F,H솔 + 학교 1등으로 ICPC 본선 진출 티켓을 손에 넣었습니다!

 


대회 전 ( ~ 2024.10.26)

 여름방학부터 팀을 결성하여 알고리즘 동아리 + 코포 버츄얼 및 서로 풀이 + ICPC 골랜디 를 진행했습니다. 

코포 스터디

 저의 경우에는 코포 레이팅이 민트였습니다. 원래 그레이~그린이었다가 스터디를 하면서 방학동안 블루 찍어야지! 했는데, 쉽지 않더라구요... 그래도 방학동안 실력이 늘었다는 점에서 만족하고있습니다. 겨울방학 때 블루를 찍고싶은데, 취준 때문에 시간을 낼 수 있을 지를 모르겠네요

 다른 한분은 살짝 재능충...의 기질이 있어서 스터디를 통해 코포를 처음 시작하셨는데 바로 블루를 찍으셨습니다.

이번 대회 결과도 이분의 덕이 가장 큰 것 같습니다. 

 


대회 시작 ( 2024.10.26 14:00 ~ 17:00 )

보통 대회 셋의 가장 쉬운 문제가 한글로 번역되어 나오기 때문에, 한글문제를 최우선으로 읽었습니다. 실제로 이번 대회도 그랬구요.

가장 쉬웠던 E번 문제는 코포 블루님께서 잡으셨고, 14분만에 AC를 맞았습니다. 

 

저희 학교는 ICPC예선을 겸해서 교내 프로그래밍 대회를 진행합니다. 

다행히 저희 학교에서 저희 팀이 E번 최초 솔브 팀이었고, 제가 저희 학교 수준을 잘 알기 때문에... 교내 대회 수상 안정권에 안착하게 됐습니다. 

E번 AC 이후, 한글 문제였던 H번과 F번이 솔브 팀이 많은 것을 보고 블루님께서 H를 보시고, 저는 다른분과 F번을 봤습니다. 그리고 이 시간동안 멘탈이 점점 붕괴되기 시작했습니다.

 

H는 시간을 단축할 방법을 찾지 못했고, F번은 기하 문제였는데, 중요한건 우리팀원 모두가 기하에 약하다는 점입니다. 

한시간이 넘도록 솔브에 진척이 없어, 작년 1솔의 악몽이 찾아오기 시작했습니다. 

 

교내 다른팀에 역전될거라는 불안감과, 시간이 갈수록 본선 진출의 꿈이 점점 무너지고 있다는 공포, 그리고 만약 역전이 되지 않는다고 하더라도, 1솔로 교내대회 1등이라는 부끄러움으로 인해 멘탈이 점점 흔들리기 시작했습니다. 

 

그렇게 시간에 쫒겨 머리를 쓰고 있던 중, F번 아이디어가 떠오르게 됩니다. 

어떻게 풀지 끄적끄적 거리던 중에, p1과 p2 사이를 지나가는 선분만이 답에 영향을 끼치는 것처럼 보였습니다.

"p1p2를 잇는 선분과 교차하는 선분의 개수가 문제의 해답이 아닐까?"는 생각이 번뜩 머리를 스쳤습니다. 팀원에게 설명을 해줬더니 좋은 반응을 보였고, 반례가 있지 않을까 계속해서 그림을 그려가며 찾아보기까지 했는데, 마땅한 반례가 보이지 않았습니다. 

 

"아, 이거다."

문제를 선분의 교차판정 문제로 치환할 수 있었습니다. 다행히 CCW 코드를 팀노트에 적어왔기 때문에 교차판정은 문제가 없었습니다. 하지만, 걱정되는 점은 실수오차였습니다. 

입력값이 극좌표 형태로 주어지다보니, 이를 데카르트 좌표로 치환하기 위해선 삼각함수를 사용해야했습니다. 

삼각함수를 쓰면 실수 오차를 피할 수 없는데.. 극 좌표상에서 교차판정 방법에 대해 고민하기 시작했습니다. 

 

그리고 이에 대해서 걱정하던 도중, 드디어 115분만에 감격스러운 H번 솔브 소식이 들려옵니다. 다행히 아직까지도 교내 1등은 저희팀이 차지하고있었습니다. 2솔이면 충분히 교내 대회 대상이나 금상을 노릴 법 합니다. 

 

이 분위기에 힘 입어, F번 코드를 짜기 시작했습니다. 

F번 풀이는 나왔으니, 일단 제출해보고, 틀리면 생각해보자! 하며 키보드를 잡았습니다.

남은분들은 EFH를 제외하고 솔브가 가장 많이 나온 C번을 보고있구요. 

 

마침내 몇번의 시도 끝에 154분만에 F번 AC를 받으면서, 3솔을 달성하게 되었습니다.

이후 남은시간은 30분, 아직까지 저희팀을 제외한 2솔 이상의 팀은 없었고, C번에서 KMP+DP의 향이 느껴진다는 팀원의 말에 남은 시간동안은 못풀겠다고 판단하여 남은 시간동안은 제출했던 코드를 구경하거나, 아직 읽지 않은 문제를 읽어보았습니다. 

 

 

대망의 17:00 대회 종료. 

3솔로 전체 118등, 교내 1등이라는 성적으로 대회를 마무리하게 됩니다.

 


대회 종료 ( 2024.10.26 17:00 ~ )

교내 대회는 전통적으로 대회 이후 피자파티를 진행합니다. 올해도 마찬가지로 진행했고, 왜인지 저는 먹을것이 입에 안넘어가더라구요.. 많이 열심히 한 탓인가 봅니다.

 

이번 ICPC 예선에 저희학교는 총 28팀이 참가했습니다.

그중 0솔 팀이 절반 가까이었고, 저희팀은 유일한 2솔 이상팀이 되었습니다. 

"아니 가톨릭대 참가 팀 왜이리 많나요?"라고 생각하실 수 있는데, 

저희학교의 경우 교내 대회에서 수상 시 졸업시험이 면제되기 때문에 많이 신청하신 것 같습니다.

팀 등록 조교를 제가 했었는데, 작년에 비해 신청 팀이 많아서 저도 많이 놀랐습니다..

그래도 절반 가까이 1솔도 하지 못했다는게 조금 아쉽긴 했습니다.. 담당 교수님께서도 실망을 하신 것 같더라구요....

 

교내를 기준으로 보면 좋은 성적을 가진 것은 맞지만, 걱정됐던 것은 본선 진출 여부였습니다.

작년엔 3솔+교내1등에게 본선 진출 기회를 줬었는데, 올해에는 또 바뀔 수 있는 사항이기도 하고, 

무엇보다 C번의 문제 오류 때문에... 걱정이 많았습니다. 

 

다행히 C번 재채점으로 인한 본선 진출에 불이익을 받은 팀은 없었고, 

작년과 마찬가지로 3솔+대학1등으로 본선 진출 티켓을 얻게 되었습니다. 

 


 

학교생활하면서 틈틈이 알고리즘 공부를 하긴 했지만, 이렇다할 수상 기록이 없어 조급하고, 한편으로는 불안한 상태였는데 이번 대회 덕분에 드디어 알고리즘 무관에서 탈출하게 되어서 너무 행복합니다. 

 

곧 있을 본선 경기에 학교 대표팀으로 참가하여 좋은 성적을 받을 수 있었으면 좋겠습니다. 

 

감사합니다 :)