
1. 이전
이 대회는 존재 자체는 알고 있었는데 난이도가 너무 매워서 처음에는 신청할 생각이 없었다.
그런데, 최근 들어갔던 카톡방 (경희대학교 PS 모임)에 jwpassion1님이 이 대회를 들고 왔다.
상품 규모를 보니 좋은 성적을 못 내도 좋은 상품을 받을 수 있을 것 같아 대회를 신청하게 됐다.
ch3ckm4te님과 밥을 먹으면서 이 이야기를 했는데, 갑자기 자기도 가겠다고 해서 안암런 듀오가 만들어졌다.
사실 처음에는 혼자 갈 생각이었는데, 또 같이 간다고 하니 그건 그것대로 좋을 것 같았다.

신청을 하고 저번 대회들을 봤는데, 난이도가 장난이 아니었다. 저번셋은 무슨 브실실골골 이후에 플레 이상만 11문제였고, 저저번셋은 디비전이 나뉘어 있었는데 Div.1 기준 브론즈 1문제 이후에 바로 플레티넘이었다.
nflight11님이 저번 대회에서 1500점이었나? 를 긁었다길래, 나는 이번 대회에서 1000점 긁는 걸 목표로 했다.
살면서 쳐 본 첫 온사이트 대회라(SCSC를 가긴 했었는데 그때는 구경만 갔었다), 망해도 그냥 경험 쌓는다 생각하고 가기로 했다.
이후 유의사항 관련해서 메세지가 왔는데, Wi-Fi를 기본제공을 해주지 않는다고 해서 당황했고, 에듀롬을 이용하는 방법을 여기저기에 물어보았다.
하지만 결국 그날 해결하지 못했고, 차라리 대회 당일에 고대를 가야지 대회환경 에듀롬을 어떻게 연결할지 알 수 있을 것 같아서 넘어갔다.
2. 전날
전날이 토요일이어서, 연습으로 뭘 풀지 고민하다가, 마침 junse2님이 총대인 송도고등학교 코드마스터 Open Contest가 보여서 해당 대회를 연습으로 건드렸다.
해당 대회에 대해서는 이전 글을 참고하면 될 것 같다.
코드마스터에서의 퍼포먼스가 나쁘지 않았어서, 코드마스터만큼만의 퍼포먼스만 띄웠으면 좋겠다는 생각을 했고, 다음날 와이파이 때문이라도 일찍 가야 했기에 일찍 잠에 들었다.
3. 당일 오전
ch3ckm4te님과 얘기했던 대로, 오전 7시에 일어났고, 서로 만나서 영통역에서 수인분당선을 타고 출발했다.
혹시 늦을지 몰라 밥은 먹지 않고 출발했는데, 멍청한 짓이었던 것 같다. 고려대에 도착했을 때 시간이 9시 반 정도였다...
고려대 정문과 애기능생활관이 가까울 줄 알았는데, 걸어서 30분 가까이 걸리더라. ch3ckm4te님 죄송합니다..ㅋㅋ
입실까지는 한시간 반이나 남은 상황이라, 근처에서 밥을 먹고 가기로 했다.
마침 가는 길에 밥버거를 팔길래, 거기서 아침을 같이 먹었다.
애기능생활관에 도착했을 때가 10시 30분쯤이었던 걸로 기억한다.
그때 해당건물 어디서 대회를 진행하는지도 몰랐고, 애초에 입실시간이 시작되지도 않아서 잠시 편의점에 가서 마실 걸 사 오기로 했다.
근데 고대는 교내에 편의점이 없더라. 어떻게 그럴 수가 있지.
고대생이 처음으로 불쌍해보였다.
암튼 편의점을 다녀오는 동안, toycartoon님이 해당 건물 301호에서 대회가 개최된다는 사실을 (디스코드로) 알려 주셨다.
그때까지도 입실 시작 시간이 안 돼서, 안쪽을 기웃거리고 있었는데 스탭분이 '맷코컵 치러 오셨어요?' 물어보셔가지고, 그렇다고 하니까 일단 앉아 계시라고 하셨다.
그래서 일단 앉았다.
그 이후에는 ch3ckm4te님과 함께 에듀롬 연결하는 방법을 모색했고, 찾아냈다.
사실 이거 해결되고부터는 좀 안심했다. 다른 분 와이파이 강탈할 생각까지 하고 있었으니..
4. 입실 시간
사람들이 하나둘씩 들어오기 시작했다.
맨 뒤에 앉아 있었는데 스탭분이 앞쪽에 앉으라고 해서 자리도 옮겼다.
그때 toycartoon님이 몬스터를 사 왔으니 필요한 분은 와서 가져가라고 (...) 하셨다.
온사이트만 했다하면 먹을 걸 사 오는 황금 고블린에 대한 소문은 사실이었다.
나는 몬스터를 먹지는 않고 음료수도 이미 사 와서 딱히 몬스터를 가져갈 생각은 없었지만, 그냥 오랜만에 본 toycartoon님과 대화하려고 그쪽으로 갔다.
근데 토이카툰님이 이미 누군가와 대화를 하고 계셨는데 알고보니 dadas08님이었다.
그래서 토이카툰님, 다다스님, 나 이렇게 해서 세명이서 한참 떠들었던 것 같다.
중간에 nflight11님도 오셔서 넷이 떠들다 한명 빠졌다 다시 왔다... 그랬던 걸로 기억한다.

운영진 분들이 11시 30~40분쯤 명찰을 나누어 주기 시작했고, 나는 20번 자리를 받았다.
20번 자리는 가운데 분단 두 번째 줄 맨 오른쪽 자리였다.
개인적으로는 뒤였으면 좋겠다는 생각이 있었는데 조금 아쉬웠다.
이것저것 준비하면서 연습으로 저번 B번 문제였던 현대모비스 선풍기 굴리기를 풀었다.
A번은 이미 브론즈 2 올솔브작을 하면서 풀어버렸기 때문에, 위에서부터 첫 번째 문제가 B번이었고, 그게 선풍기 굴리기 문제였다.
근데 진짜 쉽지 않더라. 사다리꼴이 주어질 때 그걸 돌린 회전체를 굴린 자취의 넓이를 구하는 문제라니..
1틀 하고 맞았다. 이런 문제 나오면 말릴 것 같다는 생각을 조금 했다.
본대회가 무슨 이유에선지 10분 연기돼서 12시 10분에 시작했다.
5. 본대회
A
일단 내 목표는 골드 이하 전부 풀기 + 1000점 긁기였기에, A번은 빠르게 풀고 넘어가야 한다고 생각해서 A번부터 폈고,
뭔가 잘못됨을 느꼈다.
누가 봐도 1번 서브태스크는 0을 출력하면 긁을 수 있었는데, 문제는 그 서브태스크는 1점밖에 안 됐다는 거였다.
패널티를 먹느니 한번에 100점 제출하는 게 나을 거라고 생각했다. 그땐 아이디어성 기하 문제인 줄 알았으니까.
일단 생각이 안 나서 '아, 대회 말렸구나'라는 생각을 가지고 B로 넘어갔다.
B
B를 봤다. 얘도 모르겠다. 넘어갔다.
C
C를 보고 깨달았다. 진짜로 난이도순이 아니구나.
A (0:05, 1pt)
일단 1점을 긁었다.
그래도 온사이트면 꽤나 고수들이 모이는 대회인데, 다들 A번 1점을 긁는 이유는 있겠지 싶었다는 게 첫 번째 이유였고,
두 번째 이유는 어차피 못 풀 것 같은 문제였기 때문이다.
D..P
어...? 쉬운 문제가 안 보인다.
그나마 빠르게 브포 구현가능해 보이는 K를 잡았다.
K (0:19, 6pt)
브루트포스 + python's gcd로 6점 긁었다.
이때쯤 뭔가 잘못됨을 느낀 게, 중간 난이도쯤 될 것이라고 예상했던 A가 그나마 제일 많이 풀려 있었다.
O (0:32, 7pt)
브루트포스로 풀릴 만한 다른 섭테를 긁었다.
B (0:49 + 2, 19pt)
섭테 1은 대충 적분하면 될 것 같았는데, 미적분 혐오자로서 풀 수가 없었다.
채찍피티 시키니까 적분 잘해주더라. 채찍피티 짱!
G (0:52, 1pt)
다들 G 1점 긁길래 나도 긁었다.
이 시점까지도 풀린 문제가 A 6명, B 1명밖에 없는 거 보고 '그나마 B가 풀 만한가?' 라는 생각을 했다.
나중에 알고보니 루비더라 미친.
G (1:02 + 1, 23pt)
종이에 식을 적어 가면서 재귀적인 해를 도출했던 것으로 기억한다. 코드를 짜는 건 그렇게 어렵지 않았다.
M (1:19 + 1, 16pt)
브루트포스 + 셋으로 긁었다.
C (1:47 + 2, 21pt)
어떤 점들을 지정하는지는 홀짝성에 영향을 주지 않는다는 사실을 발견하고, 두 직선을 완벽하게 겹치게 그릴 때에만 홀짝성이 변함을 관찰했다.
21pt짜리 테케에서는 어떻게 그리는지가 영향을 주지 않으므로, 그냥 적당히 모듈러 역원만 돌려서 내면 된다.
C
사실 필요한 관찰은 위에서 다 했다. 적당히 구현하면 맞을 수 있다.
근데 왜 구현을 못 했지? 이걸 맞았으면 상이 달라졌을 텐데.
A (2:44 + 3, AC)
A가 생각보다 너무 많이 풀려서, 중간중간 검색을 해 봤다.
위키백과 - 슈타이너 내접 타원에 의하면, 삼각형이 정해지면 타원은 유일하다고 한다.
타원의 유일성 때문에, 점만 정하면 된다는 사실을 알았지만, 점을 정한다고 해도 어떻게 구할 수 있는지는 전혀 모르겠어서 더 많은 검색을 해 보았다.
논문을 찾았다. 해당 논문에 의하면, 삼각형에 내접하는 슈타이너 내접 타원의 넓이는 π/3√3이라 한다.
즉 삼각형의 내접 타원을 제외한 나머지 부분의 넓이는 (1- π/3√3)만큼의 비율을 가진다는 것이다.
하지만 우리가 알고 싶은 정보는 이것만으로 충분하지 않았다. 우리는 타원의 안쪽 부분 넓이를 알고 싶은 것이지 바깥쪽 부분들의 넓이는 관심사가 아니었기 때문이다.
임의의 삼각형에 대하여 슈타이너 내접 타원으로 분할된 3개의 도형은 전부 넓이가 같을 것이라는 rough한 추정을 했고, 그 추정대로 코드를 짜 예제를 돌려 보니 맞았다.
제출했고, 2시간 44분만에 첫 AC를 땄다. 해당 시점 5등이었다.
D (2:54, 17pt)
주어진 범위에서 토러스와 구와 관계없이 그을 수 있는 선분의 갯수는 같다는 사실을 알았다.
스프라그-그런디 때렸다.
I (3:50 + 2, 21pt)
기댓값 관찰은 다 했고, 21점을 긁었다.
100점까지 한번에 맞으려 했는데 못 맞았다.
나중에 알고 보니, 하나를 새로 쓰고 지우는 게 썼다 지웠다를 반복하는 것보다 이득일 수 있다 << 는 관찰을 해야 했다고 한다.
어려운 관찰이었던 것 같아서 틀린 게 그리 억울하지는 않았다.
스코어보드 프리즈
스코어보드가 프리즈됐고, 해당 시점 1등은 2솔이었다.
16문제짜리 대회인데 1등 2솔이 말이 되나?????????
난이도에 플플다다다다다루루루루루루루루루 박혀 있을 것 같다는 생각이 들었다.
M
남은 시간은 다 M에 꼴았다.
솔브가 있는 K나 P 같은 것도 읽어는 봤는데, K는 누가봐도 (내가 모르는) Mertens Trick + Xudyh's Sieve였고,
P는 그냥 문제 해석 자체가 안 됐다.
나중에 알았는데 M 섭테 2 밀려면 얘도 식정리 열심히 해야 하더라. 못 푼 게 당연한 거였다.
6. 에디토리얼, 스코어보드 공개, 시상
에디토리얼을 공개할 때는 모두가 웃었다.
일단 진짜로 골드 이하 문제가 단 한 문제도 없었고, 그나마 많이 풀렸던 A도 플레였으며, 출제진 예상 난이도가 루비였던 문제들은 다 예상 난이도에 웃긴 단어(?)들이 써 있어서.
에디토리얼은, 내가 그정도의 씹덕수학을 잘 모르기도 해서 그냥 알아듣는 단어가 절반정도밖에 없었던 것 같다.
그냥 '와 그렇구나' '와 그렇구나' 라는 생각만 하는 기계가 된 기분이었다.
프리즈 시점 8등 (230)이었는데, 프리즈 이후에 얻은 점수가 단 1점도 없어서, 10등 이상만 사수해서 5등상을 받았으면 좋겠다는 생각이었다.
분명 목표가 천점이었는데. 문제 배점이 모두 100점일 줄은 몰랐지.
결과는 딱 10등을 사수해서 5등상을 받았다.
학교 선배이신 jwpassion1님도 오셨는데, 11등을 하셔서 '내가 선배의 자리를 뺏은 게 되면 어떡하지?'라는 생각이 들었지만 다행?히도 10등 위에 한 분이 조기퇴실하셔서 그분 대신 11등까지 상품을 받게 되었다.
시상은 또 시상대로 웃겼는데, 사람이 얼마 없어서 온 모든 사람에게 상품을 주려 하셨고, 그 때문에 재미있는 일들이 벌어졌다.
동의대학교에서 오신 분은 학교 이름이 ㄷ으로 시작하니 D번에 걸려 있던 상품을,
어떤 분은 이름이 ㄴ으로 끝난다고 N번 상품을,
어떤 분은 성씨가 박씨라고 B였나 P번 상품을,
인천에서 온 몇 명은, 인천에서 왔으니 인천공항에서 러시아를 갈 수 있다는 이유로 러시아워를 (...)
주는 식으로 정말 그때 있던 모든 사람에게 상품이 돌아갔다.
뭔가 특별상같은걸 받고 싶었는데 순위상을 받으면 특별상을 안 준다는 사실을 처음 알았다.
뭔가 살짝 아쉬운 기분이었지만, 그래도 10등 해 놓고 이런 말 하는 건 조금 그런 것 같아서 이 문단은 여기서 줄이겠다.
7. 뒤풀이
Q. 쓰레기가 모이면?
A. 오락을 간다.
nflight11님, toycartoon님, ch3ckm4te님과 함께 한성대 우리게임장을 갔다.
다같이 택시타고가서 라면한그릇 먹고 같이 사볼했다.
택시비는 nflight11님이 다 내셨다. 지금도 굉장히 감사하게 생각합니다.
토이카툰님하고 아레나를 했는데, 괴상한 노브곡만 선곡하셔서 계속 졌다.
그래서 나도 당해보라고 회신을 선곡했는데, 아쉽게도 나오진 않았다.
나는 게임을 하기보다는 저 세 분 플레이를 구경했던 것 같다.
그리고 돌아오는 길에
막차를 놓쳤다. 망할
택시타고 왔다. 택시비 만육천원이라니 암만생각해도 바가지같은데 별 수가 없었다.
'대회' 카테고리의 다른 글
| ICPC Seoul Regional 온라인 예선 후기 (0) | 2024.11.12 |
|---|---|
| Codeforces Round 972 (Div. 2) 후기 (0) | 2024.09.15 |
| 송도고 코드마스터 2024 Open Contest 후기 (7) | 2024.09.09 |