SUAPC 2024 winter 후기 (as 머리가bin of 아무생각도안들음)

2024. 2. 26. 01:52Notice/후기

이번에도 간지나는 포스터

바로 지난 대회는 출제자로 나서서 참가하지 못했고(후기), 지지난 대회에서는 버스 승객의 입장으로 학교별 특별상을 받았다(후기). 그리고 이번 대회에는 아마도 버스 기사로 나가서 14등, 학교별 특별상을 받았다.

언제나 그렇듯 N솔 중 페널티가 최상위로 대회를 마무리했다. 원래는 이럴 때 풀 수 있는 문제를 못 풀어서 등수가 올라가지 못했던 걸 슬퍼해야 맞는데, 수상권인 10등 안에 들려면 무려 세 문제를 더 풀어야 했다. 영혼을 끌어와도 8솔은 아마 무리에 가까웠을 거라서 그렇게 큰 아쉬움은 없었다. 그냥 뭐... 여름에는 10등 안에 들기를 바랄 뿐이고. 그러려면 내가 더 잘해야 한다. 팀원에게 기댄다고 뭐가 되는 게 아니다, 이제는.

 

ICPC를 바라보는 사람은 내 팀원으로 넣을 수가 없었다. 내 나이 때문에 확실히 리저널 참가가 불가능하기 때문이다. 그러면 그냥 적당히 대회 찍먹을 목표로, 내년을 바라보는 사람들에게 경험이 될 즐겜팟을 모집해야 했다. 그렇게 동아리 디스코드에 모집글을 올려서 정해진 팀원이 tngtied와 blackstar0223. solved.ac 플플다 팟이 결성되었다.

blackstar0223은 우리 팀의 유일한 C++ 유저다. 이번 대회는 모든 문제에서 추가시간이 주어지지 않았던 터라서, 파이썬당하는 순간 손을 놓아야 하는 그런 슬픈 상황을 피할 수 있었다. tngtied는 직관이 굉장히 좋다. 안 될 것 같다고 쳐내 버린 내가 죽일 놈이 된... 그런 상황이었다. 이거 내가 가장 많은 문제를 풀긴 했지만 전혀 버스기사가 아닌데...

 

우리 팀 《아무생각이안들음》이 푼 문제는 A. C. F. H. M의 다섯 문제였다.

대회 시작 전 내가 맨 뒤 다섯 문제를 보기로, 나머지 8문제는 ABCD를 tngtied가, EFGH이 blackstar0223이 보기로 했다. 하필 거기에 개 빡센 문제들이 몰려 있어서 내가 한 문제만 일찌감치 풀고 옮겨다니면서 이것 쿡 저것 쿡 찔러보는 꼴이 되었지만... 뭐 어쨌든.

 

대회 타임라인은 다음과 같다.

0:02 M AC

뒤에서부터 봤으면 퍼솔이었는데 앞에서부터 봐서 퍼솔을 놓쳤다. 이런 간단한 문제에서 틀리면 절대 안 된다.

0:07 H TLE

다른 네 문제가 답도 없다고 판단해서 스코어보드를 살펴봤다. H가 푼 팀이 많길래 설마 나이브로 뚫리나? 같은 개 ㅄ 생각을 하고 그냥 떠오르는 거 그대로 제출했다. 택도 없는 판단이었고요...

0:15 C AC

시간 초과가 나는 것 같아서 H를 blackstar0223에게 던졌다. 스코어보드 순회하면서 쉬워 보이는 문제들을 찍먹하기로 했다. A는 tngtied가 잡고 있다고 해서 그 다음으로 많이 풀린 문제인 C를 잡았다. 각 박테리아가 같은 칸에 있을 수 없다면 조금 더 어려운 문제가 되었을 것 같지만 그렇지 않아서 단순한 실버가 되었고, 풀기는 그렇게 까다롭지 않았다.

0:16 H TLE

blackstar0223도 한 번 시간초과를 맛봤다. 어떤 방식으로 접근했는지는 대회가 끝난 지금도 사실 잘 모르겠다. blackstar0223은 코드를 뜯어고쳤고, 나와 tngtied가 A의 답이 이럴 것이라면서 풀이를 완성해 나갔다.

0:25 A AC

수학을 통해서 \(\mathcal O(Q)\)로 시복도를 줄일 수 있어 보이겠지만 대회인지라 \(\mathcal O(\Sigma T_A)\) 브루트 포스로 타협해 보기로 했다. 그렇게 제출하니 어렵지 않게 AC를 받을 수 있었다.

0:29 H AC

H 코드를 뜯어고친 blackstar0223이 AC를 받아 왔다. 업솔빙 할 때 수없이 틀렸던 거 보면 내가 저 문제를 잡았으면 정말 대참사가 날 뻔 했다.

1:11 F RTE

다음으로 풀 만한 문제가 E F G L 정도밖에 없었고, 뭔가 답이 보이는 것 같아서 F를 트라이해 봤다. 글자가 바뀌는 지점에서 답을 얻을 수 있을 것 같아서 그대로 했는데 RTE.

1:13 F WA

이런. 글자가 한 번 이하로 바뀌는 걸 고려 안 해서 틀렸다. 머리를 쥐어짜다가 tngtied에게 로직을 설명하면서 머릿속에서 다시 한 번 로직을 구체화시켰다. 느닷없이 잡혀서 의아했겠지만... 남에게 설명할 수 있을 정도로 구체화시키는 과정에서 답이 떠오를 수도 있다.

1:26 F AC

코드포스 치를 때, 예외 처리를 미리 한다고 걸렀던 것에서 문제가 생겨서 맞왜틀을 적립한 경우가 있었다. 로직은 아무리 봐도 맞아 보여서 설마 이게 틀린 건가 하는 생각에, 팀원에게 허락을 구하고 제출했더나 또 AC. 어이가 없어서 참...

 

이 이후로는 맞힌 것 없이 시간을 보냈다. tngtied는 E를, blackstar0223은 G를, 나는 아무리 봐도 생각나는 게 없어서 둘 사이를 옮겨다니며 로직 점검이나 했던 것 같다. 그 와중에 내가 tngtied의 E 아이디어를 시복도상 안 될 것 같다고 쳐내 버리는 미친 짓을 했는데...

막판에 L에서 MST를 120개만 만들어서 그때그때 비교하면 되지 않냐고 blackstar0223이 정해 아이디어를 내서 그 코드를 짰지만... 파이썬당했다. C++로 짜 달라고 던지기에는 그 아이디어가 대회 종료 30분 전에 나온 터라 어쩔 수 없었다. 해당하는 시간 내에 구현이 마무리되는지조차 확신할 수 없었던 터라...

아무튼, 큰 실책 두 개 빼고는 전반적으로 만족스러웠다. 하나는 L을 blackstar0223에게 던지지 않았던 것, 다른 하나는 E를 그냥 안 된다고 하지 말고 이분탐색 붙인다는 생각이라도 하지 않은 것. 난 아직도 이분탐색에서 너무 약하다...

 

대회 끝나고는 스코어보드 까면서 다 같이 소리질렀다. 연세대 팀이 1, 4, 5, 6, 7등을 먹으면서 SUAPC 2023 Summer에서 서강대에 잠시 빌려줬던 우승을 찾아왔다.

공부 더 해서 8대 플래티넘 뱃지도 따고 특히 이분탐색 공부 좀 더 해서 다가오는 여름대회에서는 반드시 10등 안에 들어 보리라. 그리고 Python당하지 않게 좀 어떻게 해 주세요 SUAPC 운영진... 진담 반쯤 섞인 농담이다. 아니면 농담 반쯤 섞인 진담이던가.

728x90