대학교에 입학하고 SCSC에 들어가고, 살면서 처음으로 오프라인 대회를 나가보았다.
내 실력으로 Div.3을 쳐야하는거 아닌가 생각이 들긴 했지만 정수론 알고리즘으로 고등학교 때 솔브닥을 다이아까지 올린 과거의 나 때문에 Div.2로 납치되었다.
고등학교때 솔브닥에서 만난 내적 친밀감이 가득한 사람들을 만날 생각에 기대가 부풀었지만 한편으로는 문제를 많이 못풀지 않을까 걱정이 많이 되었다.
이번 SCPC에서는 SCSC 부원으로서 나도 스태프를 신청해보았다. 별일은 아니고, 짐을 좀 옮기고 대회 접수를 맡는 대신에 핑크색 스태프 티셔츠를 얻을 수 있었다. (따로 사진은 없다)
원래 핑크색 티셔츠를 입고 대회 접수를 받았어야 하는데 급하게 오느라 티셔츠를 안받고 나와서 그냥 내 곰돌이 줄무늬 티셔츠에 선글라스 걸친 채로 접수받았다.
대회장에 거의 가장 먼저 도착한 코이부터 시작해서, 솔브닥에서 만난 내적 친밀감이 가득한 사람들을 많이 뵐 수 있어 좋았다. 물론 그들은 아마 나를 잘 모를 것이다. (물어보니 몇 분 정도는 디코에서 나를 본 적이 있는 것 같다고 하기도 하였다)
대회 시작
AtCoder에서 닉네임을 내가 가장 좋아하는 캐릭터의 이름으로 설정해놓고 대회를 시작했다.
오프라인 대회는 처음이기도 하고, 무엇보다 A를 제외하고 난이도가 랜덤 순서였기에 어떻게 문제를 풀어야 할지 걱정되었지만 일단 시작했다. 퍼솔은 바라지도 않고 대충 스코어보드 보면서 사람들 많이 푼거 풀어야겠다고 생각했다.
#A
최초 AC 시간: 7분 10초
지금 글 쓰면서 다시 생각해보니까 뭔 7분씩이나 걸렸나 싶다. 아마 대회때는 문제들의 난이도가 어떤지도 모르고 긴장해서 지문이 잘 읽히지 않았던 탓 같다.
문제를 얼핏 읽으면 어려워보이지만 자세히 보면 여러 상수들의 입력이 고정되어있기 때문에 리프노드의 개수만 카운팅해주면 되는 간단한 문제임을 깨닫고 빠르게 제출하여 아마 내 기억이 맞다면 대회 참가자들 중 10번째로 AC를 맞았다.
#F
최초 AC 시간: 22분 37초
사람들 중 한 3명정도가 F가 풀려있길래 나도 F를 보았다. 처음 보았을 때 '수식을 세워야 하나? 주기성이 있나?' 하고 고민하고 걱정하다가 그냥 에라모르겠다 규칙찾자 마인드로 수열 A를 다 구해주는 코드를 짰다. 그런데 놀랍게도 여러가지 테스트케이스에 대해서 수열의 뒷부분이 전부 같은 수로 나오길래 에이 설마하고 찍었는데 AC였다.
#J
최초 AC 시간: 38분 57초
그 다음으로 J가 몇명이 풀려있길래 J로 넘어갔다. 뭔가 어디서 많이 들어본듯한 웰노운 문제틱한 느낌이 났다. 처음에는 난이도가 엄청 어려운줄 알고 설마 2-SAT인가? 하고 생각했는데 조금 생각해보니 처음으로 딱 누가봐도 자신의 문자를 알 수 있는 사람 빼고는 전부 2회차에 알 수 있겠다라는 직관이 보였다. 증명은 안되었지만 그냥 찍는다고 생각하고 냈는데 놀랍게도 AC였다.
놀랍게도, 여기까지 풀었을 때 나의 등수는 6등이었다.
오 어쩌면 수상권에 들지도? 하고 생각했지만 이제부터 아롱이의 레전드 실수와 추락이 시작된다.
#C
최초 AC 시간: 210분 52초
그 다음으로 C로 넘어갔다.
누가봐도 일단 접두사와 접미사가 일치하는 구간을 찾고 그걸로 해를 짜야해서 KMP를 쓰라는 문제같았다.
오프라인 CP 대회에 대한 감이 없어서 설마 KMP를 쓸 정도로 어려운 문제겠어? 하고 생각했지만 일단 검색해서 KMP 실패함수를 짰다.
그리고 해를 잘 구성해서 제출했지만 WA가 떴다. 심지어 상세사항을 확인해보니 모든 테스트케이스에 대해서 WA가.

이때부터 아롱이는 멘붕이 오기 시작한다.
도대체 뭐가 틀린지 모르겠다. 아무리 생각해도 이거보다 나은 해가 존재할 수 없다.
이때 잠깐 생각을 돌리자 하고 G를 풀다 왔지만 G도 딱히 생각이 안났기 때문에 결국 시간만 왕창 버리고 C로 돌아왔다.
그리고 나의 첫번째 레전드 실수를 발견한다.
바로 테스트용 print를 안지운것이다......

이를 지우고 다시 제출해보니 50개 테스트케이스중 5개가 틀렸다.
뭔가 아직 내가 생각하지 못한 엣지 케이스가 있다!!!!!!
그리고 그 케이스를 찾는데 2시간을 쓰기 시작했다.
그리고 허무하게도, 그 반례는 접두사 및 접미사를 관리해주는 방식 자체에 문제가 있지 않았을까 하는 나의 생각으로부터 비롯되어 대회 끝나기 30분 전에 발견되었다.

#G
최초 AC 시간: -
게임이론(특히 스프라그그런디)를 예전에 공부한 적이 있기때문에 내 머릿속에는 스프라그 그런디 생각밖에 안나서 머리가 터지는줄 알았다. 문제가 왜이리 어려워.
SCCSC와 SCSSC만 찾으면 된다는 정답은 대회가 끝난 직후 코이 옆에 있던 icly님께 듣고 거의 기절할 뻔 했다. 왜 이걸 진작에 생각 못했지. 내가 문제를 너무 어렵게 생각했나.....
#D
최초 AC 시간: -
대충 문제가 어떻게 생겼는지만 봤다. 색깔이 3가지라서 x자리에는 뭐든 들어갈 수 있고 색깔이 같은 block으로 나눠서 이 block에서 연속된 문자의 개수를 관리해주면 된다는 관찰까지 완료했지만 시간이 5분밖에 안남아서 코드 구현에 실패했다. 만약 C에서 시간 안버렸으면 풀었을 문제같아서 아쉽다.
그리고 대회는 72등으로 마무리되었다.

대회 후기
여러모로 느낀 점이 많다.
나는 아직 창의적 문제해결력이 부족하다는 점.
오프라인 대회들은 내가 지금까지 솔브닥 레이팅 올리려고 공부했던 고급 알고리즘보다는 애드혹과 해 구성 문제들이 많이 나온다는 점.(내가 약한 부분임)
그리고 알고보면 문제들은 내 생각보다 쉽다는 점.
나는 반례찾는 연습을 더 해야겠다는 점.(이건 NYPC때도 느꼈던건데...개선이 안된 것 같다)
코드포스같은 CP 연습을 계속 해야겠다는 점.
아쉬운 마음으로 뒷풀이장에 가서 맥주 진짜 요만큼 마시고 취해서 머리아팠다.

대신 뒷풀이때 SCSC 부원들과 스택 게임, 세그먼트 트리 게임, 힙 게임, 큐 게임, 소인수의지수의합이홀수면박수를치는게임 등 많은 재밌는 술게임을 할 수 있어서 잠시동안 아쉬움은 사라졌던 것 같다.
어쨌든 많은 똑똑하신 사람들 만날 수 있고, 나의 부족함도 되돌아 볼 수 있는 기회여서 좋았던 것 같다.
내년에는 꼭 수상할테니 기다려라.
'PS' 카테고리의 다른 글
| 비재귀 DFS (0) | 2026.05.26 |
|---|---|
| 백준 서버 종료와 앞으로의 계획 (0) | 2026.04.30 |
| [Python] 백준 10754 - KOVANICE (0) | 2026.04.14 |
| [Python] 백준 1014 - 컨닝 (1) | 2026.03.27 |
| [Python] 백준 13141 - Ignition (0) | 2026.03.14 |