센트로이드 컵에 참여했습니다.
사실 최근 소마플젝이나 하반기 공채 등등으로 좀 바빠서 참여할까말까 고민했는데 어떻게 하다보니 작년 ICPC팀으로 나가게 되었습니다. 올해 ICPC는 일정상 참여하지 못하기 때문에 저에게는 이게 마지막 팀대회입니다. 그냥 라스트댄스 한다 치고 참여했습니다.
shake!나 교내 동아리 등등에서 이전부터 센트컵 열린다 열린다 얘기는 들었는데, 언제 열리지 하던게 지금 열렸습니다. 아주대가 센트로이드 연합? 아중국인? 어쨌든 연합에 참여하게 된 게 인하대 참여에 따라들어간 것으로 알고있는데, 정말 감사할 따름입니다…
대회 전
전날(금요일)에는 소마 센터 갔다가 집에 늦게들어와서, 폰질하다가 새벽 3시에 잤습니다. 9시에 일어나서 대충 준비하고 출발했는데, 저희 팀원 모두 6시간 정도밖에 안잤다고 해서 좀 불안한 느낌이 들었습니다.
12시 2분 전쯤에 도착해서, 얼마 있지 않아 등록을 시작했습니다. 중앙대는 무슨 건물이 이렇게 크지?? 정도의 생각을 했던 것 같습니다. 핑크빈 인형같은거도 UCPC 후기글 보면서 좀 부러웠는데, 보급형 핑크빈 받아서 정말 좋았습니다. 키링은 학교별, 스티커는 등록 땐 아무거나 주셨던 것 같습니다 중앙대만 없네요
포스터는 진짜 잘나온 것 같습니다 우리학교 마스코트빼고 다 귀여운듯
대회나가면서 처음으로 토템을 들고왔습니다. 같은 테이블에 두고 싶었는데, 대회중에 문제지들고 휘적휘적거리면서 떨어뜨릴까봐 비어있는 앞 테이블에 세워놓았습니다.
뭐 대충 고등학교 동창도 오랜만에 보고 학교 후배들도 오랜만에 보고 했습니다. 노트북 세팅하면서 ps에 익숙하지 않은 맥으로 세팅하고, vscode 쓰는 사람이 저 혼자라서 vscode랑 clion을 왔다갔다하는 환경을 만들고… 왜 vscode 안쓰는건지 진짜
생각보다 제가 있는 강의실에 같은 학교 팀이 많아서 마음을 좀 편하게 먹은 것 같습니다.
대회 중
A. 2, 4, 6, 8
- 0:01 AC
시작과 동시에 C++ 템플릿 작성하면서 문제를 봤습니다. 엥 $06$하면 되나? 를 한 10초 정도 생각했다가, $24$면 되겠다 해서 $24$를 써야 하는지 $42$를 써야하는지 살짝 헷갈려서 0분솔을 못했습니다.(16초 오버) Text로 제출창에 바로 냈기에 템플릿 작성 안했으면 0분솔이었을지도 모릅니다. 해결 직후 3등이 되었습니다.
D. 소수제합
- 0:06 -1
- 0:10 -2
A를 푼 후 앞 4문제를 대충 슥 보다가, 이 문제보고 엥 쉬운거 아니냐?? 라면서 $1$을 소수로 착각하는 실수를 해버립니다. 아니이거맞지않나???만 여러 번 생각했는데, 그냥 옆에서 다른 문제 푸는걸 돕기로 했습니다.
M. !제곱수 순열
- 0:21 -1
옆에서 팀원이 냈는데 틀렸습니다. 풀이를 들어보니 맞는 것 같은데, 대충 디버깅해보라 던지고 저는 D와 동시에 C를 봤습니다.
B. 초콜릿 우유가 좋아
- 0:23 AC
앞 4문제 슥 보다가 쉬운거 같아서, 스코어보드에도 많이 풀려서 다른 팀원에게 던졌습니다. M 디버깅하는 동안 바로 짤 수 있게 식 정리하라고 했던 것 같습니다. 함 슥 확인하고 바로 짜게 했습니다. 20등 초반에서 해결 후 18등이 되었고, 스타트를 좀 말아먹었다고 생각했습니다.
C. Polyominonal Puzzle
- 0:26 AC
D 보기 전에, 그 다음으로 많이 풀려서 먼저 짰습니다. 그냥 모든Y
에 대해서 상하좌우를 살피면 됩니다. 나름 빠르게 짠 것 같습니다. C를 풀고 나서 16등이 되었습니다.
D. 소수제합
- 0:31 -3
1은 소수가 아님을 깨닫고, B를 푼 팀원에게 바로 D를 던져주었습니다. 저도 C를 풀고 바로 같이 작업에 들어갔습니다. 일반적인 경우에 두 가지 소수$(2, 3)$만 가지고 구성할 수 있을 것 같다고 생각했고, 팀원에게 이를 일반화하는 식을 찾아달라고 했습니다. $2, 3, 4, 6$의 경우엔 $2$와 $3$만으로 구성할 수 없어서, 걍 -1로 처리하고 제출 ㄱ? 해서 제출했습니다. ㅋㅋ
M. !제곱수 순열
- 0:34 AC
디버깅을 다 해왔습니다. 어디가 틀렸었는지는 안 들어서 모릅니다. 이걸 푼 직후 11등이 되었습니다.
D. 소수제합
- 0:48 -4
M에서 AC를 받은 직후, 예제에 있는 $2$를 제외한 $3, 4, 6$의 경우를 찾기 위해 제가 나이브를 짰습니다. 나이브 짜는 것도 컴퓨터 자원을 써야 하니까 좀 부담이 되었습니다. 초반이라 다른 문제의 풀이가 마구마구 나왔기 때문에… 아무래도 제가 가장 빠르게 짜는 편이라, 3/4/6중 for문을 돌려서 세 경우에 대한 소수 배열을 찾았습니다. - 0:50 AC
각 경우마다 나이브를 돌리고 종이에 적어놨습니다.
$N=3$의 경우에 $2$ $5$ $29$인데, 필기를 잘못 보고 $3$으로 적어버려서 1틀을 했습니다… 직후에 바로 고쳐서 AC를 받았고, 퍼솔과 함께 한 자리 등수로 들어갔습니다. 간단한 부분을 실수해서 당시엔 너무 미안했습니다.
H. T 타일링
- 0:56 AC
제가 D에서 나이브를 짜고 있는 동안, 옆에서 H 풀이가 나와 구현하여 AC를 받았습니다. 이 문제 던져줄 때 대충 읽고 이럴 것 같다 하면서 줬는데, 좀 혼란을 준 것 같아서 미안했습니다. AC를 받고 한 단계 올라 8등이 되었습니다.
N. NYPC <CODE BATTLE/>: Leaf Hack
- 0:57 AC
옆에서 이 문제 게임이론인것 같다. 난 못풀 것 같다라는 얘기를 자꾸 해서, T 타일링 구현하러 들어간 사이에 잠깐 읽어보았습니다. 포화 이진트리이기 때문에 항상 자식이 두 개 있는 곳을 없앨 것(자식이 하나 있는 곳을 없애면 손해이기 때문에)이고, 리프노드의 개수는 2의 거듭제곱 꼴이기 때문에 항상 후공이 먼저 플래그를 획득하게 됩니다. 그래서 항상 Yeti를 출력하면 됩니다. 아니이걸왜몰라하면서 AC. 3등까지 올라갔습니다. D에서 AC를 받아놓은 게 컸던 것 같습니다.
J. Double Permutation
- 1:29 AC
1, 2등 팀이 푼 E를 다른 팀원에게 던져둔 후, J를 저와 다른 팀원 둘이서 보기 시작했습니다. 어캐 잘 슥슥 써보다가 조건을 만족하는 격자 양 옆에 4개씩 잘 붙이면 확장할 수 있다는 것을 발견했고, $\bmod 4$에서 $0, 1$인 $N$에서 가능함을 보였습니다. $2$와 $3$의 경우에서는 명쾌하게 보일 순 없었지만 제 감이 불가능하다고 느끼고 있었고, 적당히 작은 경우에서 불가능함을 보이고 팀원을 설득한 뒤 걍 -1로 처리하고 제출 ㄱ? 해서 AC 받았습니다. 8솔이지만 패널티로 밀려서 4등이 되었습니다.
E. 룩의 이동
- 1:33 -1
J 푸는 동안 팀원이 E풀이를 가져왔습니다. 그냥 BFS하면 될것같다고 해서 제출했습니다. 당시엔 팀원이 구현에서 실수한 것 같아서 제가 다시 짜기로 하고, I를 보게 했습니다. - 1:50 -2
- 2:28 -3
- 2:29 -4
- 2:29 -5
- 2:41 -9
예 그렇게 됐습니다… 제가 E에서 몸비트는 동안, 두 팀원은 각자 I와 L을 보고 있었고 둘 다 어느정도 풀이가 나온 상황이어서, 진전이 있는 사람이 컴퓨터를 가져가게 했습니다.
I. 프랙탈과 점
- 3:08 -1
- 3:20 -2
- 3:22 -3
무슨 일이 일어났는진 모르겠지만, 저만큼 끔찍한 시간을 보내고 있지 않았을까요?
L. 트리 오델로
- 3:24 -1
사실 얘는 L을 짜기 전에 G에 DP전이를 다 짰었는데, 예제가 안나와서 L로 선회했습니다. L은 뭐 대충 냅색하고 역추적해야 한다까진 들었습니다.
각 거리 지점을 뒤집으면 된다, 어떤 거리를 뒤집을 지 찾았는데 이걸로 해를 어떻게 구성할지 모르겠다고 해서 약간 도와줬습니다. 사실 코드를 이해 못해서 글로만 깔짝댔습니다. 대충 거리마다 그 이하 점들은 다 뒤집히니 연속이 아닌 부분을 잘 끊으면 될 것 같다는 소리를 했습니다.
I. 프랙탈과 점
- 3:26 -4
L. 트리 오델로
- 3:29 -2
E. 룩의 이동
- 3:33 -10
- 3:37 -11
- 3:38 -12
- 3:42 -13
L. 트리 오델로
- 3:43 -3
I. 프랙탈과 점
- 3:47 -5
이 얼마나 무시무시하고 끔찍한 시간이었는지… 프리즈 이후로 한 문제도 풀지 못했고, 그대로 멸망할 위기였습니다. E는 분명 그냥 BFS는 시간 초과가 될 텐데, 각 칸의 visit 배열을 가로 세로로 나눠도 안되고 어떻게 할 지 감이 안잡혔고, L은 코드를 이해 못해서 도와줄 수 없었고, I는 디버깅을 도와줬는데 예제 마지막 입력2694740786726250 -5464652956071034 1 1 2694740786726253.000 -5464652956071034.483
을 바로 받은 후 출력하면2694740786726250 -5464652956071034 1 1 2694740786726253.000 -5464652956071034.000
으로 소숫점이 없어지는 문제를 겪고 있었습니다. 제가 파이썬을 할 줄 알아서 파이썬으로도 디버깅을 했는데 소숫점이 사라집니다. 왜 이런 문제가 발생하는거지???? 정말 무시무시한 일이 아닐 수 없습니다… 결국 팀원이 string으로 받아서 예외처리를 하겠다고 했습니다.
L. 트리 오델로
- 3:50 AC
해 구성 부분은 문제가 없었는데, for문 중간에 인덱스가 음수가 될 수 있었다고 합니다.
I. 프랙탈과 점
- 3:55 AC
string으로 받은 뒤, 예외처리 부분을 좀 손봤다고 들었습니다.
이후 E에서 고통받다가 미제출 문제들을 다 제출하고 끝났습니다.
종료 10분 전? 제출 두 개가 전부 AC?? 주변 팀들은 아마 저희가 계속 소리지르는 것을 보고 드디어 미쳐버렸나 싶었을 겁니다… E를 못 푼게 아쉽지만 프리즈중 2문제 AC로 도파민샤워중이어서 크게 신경쓰진 않았습니다.
대회 후
종료 후 프리즈된 스코어보드를 봤는데, 4, 5, 6, 7등이 전부 아주대입니다. 명명백백한 중간의 왕… 주변 팀들의 프리즈 이후 솔브를 듣진 못했지만, 소리지르는팀이 저희밖에 없었어서 나름의 기대를 갖고 있었습니다.
저희 팀의 토템(왼쪽)입니다. 노가리까고 있었는데 kiwiyou님이 오셔서 가지인형을 세워두셨습니다. 푹신하고 좋더라구요
pani가 와서 달팽이 인형을 세워두고 갔습니다.
팀원이 키링으로 달고다니던 인형을 두었습니다.
갑?자기?? 스이세이 인형이랑 베베 인형이 추가되었습니다. 베베 인형은 대회 중 저희 팀 토템 앞에 서있었던 것 같은데, 어느 순간 사라져있더라구요…
이후에 카나데 쿠션이랑 이로하 미니 피규어가 추가되었습니다. 다른 분인줄 알았는데 스이세이랑 같은 분이셨습니다. 이걸 어떻게 3개나 들고다니시는거지???
사진 찍는 김에 핑크빈이랑 슬라임도 같이 넣었습니다.
후원사 세션이 없어져서 단체로 카훗을 했습니다. 초등학생 때 강당에서 OX퀴즈하던 그런 느낌이 나서 재밌었습니다.
스코어보드 공개 당시 사진은 없는데… 대부분? 모든? 팀이 무언가를 하나씩 들고 갔던 것 같습니다.
살짝 스포일러 당했던 점은, 모든 문제에 제출하는 특별상이 1st, 2nd로 두 개였고, 순위상 받은 팀은 특별상에서 제외였는데… 모든 문제를 제출한 팀이 저희 포함 단 두 팀이었으나 2nd 특별상이 모든 문제를 제출하지 않은 팀에게 갔기 때문에, 우린 그래도 무언갈 받겠구나 라는 생각을 했습니다.
사실 종료 10분 전에 2솔을 추가하고 모든 문제에 제출해서, 레전드꿀잼판을 볼 수 있겠지?? 하면서 좀 기대했는데, 저희보다 123등 쟁탈전이 더 재밌었습니다. 순위가 한 6번은 바뀌었던 것 같습니다.
상품으로 G304를 받았습니다. 아쉽게도 상장은 3등까지밖에 없다고 합니다. 상금이 아니라 상품을 받아서 그럴 것 같다는 생각은 했습니다. 수상사진과 단체사진 찍을 때 토템도 같이 들고갔습니다.
사실 토템같은걸 들고가는건 이번이 처음인데, ICPC 월파에서도 그렇고 강한 팀들은 토템을 세워놓더라구요… 어차피 마지막 팀대회니 가져와봤습니다.
남는 굿즈를 적당히 챙기고 폼보드까지 챙겼습니다. 이후에 한강에 무슨 축제가 열린다고 사람 많을거라고 해서, 뒷풀이는 수원으로 내려와서 하기로 했습니다. 중앙대를 나오면서 폭죽 터지는소리가 막 들리고 그랬는데, 조금만 늦었으면 서울 못 나올 뻔 했습니다.
뒷풀이로 삼겹살을 먹었습니다. 먹던 도중 휴대폰 액정이 나갔습니다. 플립이라 쪼끄만 전면 화면으로 유튜브 카톡 디스코드를 할 수 있습니다. 충분하지 않나요?? 내일 바로 서비스센터 가기로 했습니다…
3등과의 차이가 너무나도 컸기에, E를 못풀었니 어쩌니 패널티가 어쩌구 하는 얘기들은 의미가 없어졌습니다. 저희 팀이 신들려서 I와 L을 한번에 풀고, E를 다 푼 뒤에 풀이가 나왔던 G를 풀었다고 해도 4등이기에… 팀 모두 만족하고 있습니다. 스코어보드 공개 중에 pani한테 들었는데 123등이 전부 코포 오렌지++라고… 대충 어디선가 들어본 핸들이 많았기에 그렇겠구나 했습니다.
그래도 유종의 미를 거둔 것 같아서 좋습니다. 마지막 학기인 데다가 아무것도 안해도 졸업 확정인 상태라서, 팀대회는 더 없을 것 같습니다. 사실 지금 팀으로 한 50만원은 쌀먹했습니다.
게다가 학교 후배들도 나름 높은 성적들을 거두었습니다. 대부분 1학년이나 2학년인 친구들이 많은데, 작년도 그렇고 올해도 동아리가 잘 굴러가는 것 같아 기분이 좋습니다.
재밌는 대회 열어주신 39명의 운영진 분들 정말 감사드리고, 아주대를 연합에 끼워주신 모든 분들께 감사드립니다. 내년에도 열렸으면 좋겠습니다.
폼보드 수집가가 되었습니다.