SUAPC 2025 Summer
2025년 8월 23일에 진행된 SUAPC 2025S에 참가하였습니다. 팀명은 저녁 뭐 먹지
로, 냉면
plast, 족발
juwonhyme, 치킨
gs22059로 구성된 팀입니다.
결과는 10+1381/13=#1으로, 본대회에서 우승했습니다. 나름 우승을 목표로 만들어진 팀이기도 했고, 우승을 못 하면 안 될 것 같은 구성의 팀을 꾸렸기에 어떻게 보면 예상한 결과가 나왔습니다. 오히려 개인적으로는 저조한 퍼포먼스를 냈다고 생각합니다만, 뭐 언제는 온전한 퍼포먼스를 낸 적이 있던가요?
팀 구성부터 대회 시작까지
팀은 대략 8월 초에 생겼습니다.
SUAPC에 대해서는, ‘빠른 시일 내에 우승을 해보고 싶은 대회’ - 나아가서 ‘일단 한 번 우승을 해두면 그 뒤로 출검운으로 끌려가든 랜덤팀으로 참가하든 할 수 있는 좋?은 대회’라는 생각을 가지고 있었고, 그래서 팀을 만들기 전부터 우승을 하면 좋겠다는 목표를 가지고 있긴 했습니다.
일단 연세대 25학번의 PS 인원풀에서 팀원을 공수했고, juwonhyme을 끌고 올 수 있었습니다. 그 상태로 참가 신청 시즌이 왔고, 아직 한 명을 구하지 못한 상태에서 대 plast님이 연락을 주셨습니다. (나중에 들어보니, 대충 신청 시즌까지 별 생각을 안 하고 계시다가, ystaeyoon113님이 대략 혼자 할 바엔 저랑 하라셨다나 하여, 제가 팀원이 비면 끼고 아니면 솔플을 하실 작정이셨다는 것 같습니다.)
팀명은 GPT에게 물어봐서 결정되었던 거 같습니다. 개인 닉네임도 같은 방법으로 3개를 만들고 사다리타기를 돌려서 분배했습니다.
그러고 나서 팀 연습 같은 것은 한 번도 안 하고 쌀품질맛협회 등의 팀에서 놀다가 정신을 차려 보니 대회일이 되었습니다.
12시 시작이라, 회장 주변에서 밥을 먹을 생각을 하고 조금 일찍 도착했습니다. 본대회 장소는 올댓마인드 신논현점이었습니다. 1년 반 전의 그랜드 아레나 파티 회장이 올댓마인드 문래였어서, 뭔가 수아피시 쪽이 벤치마킹을 한 건가 싶었습니다. 다만 장소대관이 대회 예산의 상당부분을 차지할 만큼 돈이 많이 나가는 것으로 알고 있어서, 왜 학교 강의실을 쓰지 않고 장소대관을 한 것인지는 의문입니다.
대충 주변에서 밥을 간단하게 먹고 (식당이 익숙하다 싶었는데, 몇 달 전 코드트리 대회를 치러 가는 길에 점심을 먹었던 곳과 같은 곳이었습니다) 다시 회장으로 돌아갔습니다. 대 ystaeyoon113님과 소 dadas08, 오프라인으로는 처음 본 lunarlity 등을 볼 수 있었습니다.
등록 시에 샌드위치와 아아를 받을 수 있었는데 좋았습니다. 책상은 3명이 나란히 앉기에 조금 작았던 것이 아쉬웠습니다. 회장에 풍선이 안 보여서 아마 안 주나 보다 싶었는데, 사실 중간부터 달아줬습니다. 머신은 제 것을 사용했고, 그래서 제가 ABCD를 잡기로 했습니다. 그리고 juwonhyme이 중간 문제, plast님이 뒤 문제를 잡기로 하고 시작했습니다.
들어가기 전에 적어 두자면, UCPC 때에 비해 기억이 잘 안 납니다. 아래 bullet의 순서는 부정확할 수 있습니다. 사실 각 bullet의 내용도 부정확할 수 있습니다.
초반 (~30분)
- 제가 A번을 맞았고(83초), B, C, D를 순서대로 읽었습니다.
- 통계 탭에 따르면 FSC입니다. 스피드포스 능력은 아직 안 죽었나 봅니다.
- 대략 7분 쯤에 D가 쉽다는 것을 알아냈습니다. 비슷한 시간에 juwonhyme이 아마 E번을 접근했는데, 아무리 봐도 D 구현이 아주 간단할 거 같아서 D를 짰습니다.
- 그러나 D를 틀렸습니다(9분). 조금 지나서 D가 슼보에서 풀렸던 것으로 기억합니다.
- 제가 D를 디버깅하는 동안 juwonhyme이 E를 구현했는데, 두 번 틀렸습니다(15분, 19분).
- juwonhyme이 E에 제출하기 전인지 후인지는 모르겠지만 - 아마 두 제출의 사이였던 것 같습니다 - 아무튼 plast님이 E에 붙었고, 아마도 어떠한 결과를 냈습니다. 그래서 juwonhyme은 E를 고치러 가고 plast님은 D에 붙었습니다.
- 시간이 약간 걸렸지만 아무튼 (plast님이) 틀린 부분을 찾았습니다. 그쯤 juwonhyme이 E를 맞았고(27분), 그래서 제가 바로 D를 고쳐서 맞았습니다(30분).
초반은 전체적으로 말렸던 것 같네요. 대충 3등에서 7등 사이를 떠돌았던 것으로 기억합니다. 솔브수로 밀어버릴 수 있다는 근거 없는 자신감을 가지고 있었기에 이때까지는 별로 안 힘들었습니다.
중반 (30~150분)
- 저는 B와 C를 봤습니다. C가 재밌는 문제라 생각해서 시간을 조금 더 박았던 것 같습니다.
- juwonhyme이 F의 풀이를 냈고 짜러 갔습니다.
- plast님이 K의 풀이를 내셨습니다.
- 얼마 안 가서 juwonhyme이 F를 틀렸습니다(51분). plast님이 K를 짜기로 하셨던 것 같습니다.
- 제가 B에 어떠한 풀이를 냈고(당연하지만 틀린 풀이입니다), 딱 봐도 구현이 좋나게 오래 걸릴 거 같았습니다. 스코어보드에서 G가 풀리고 있었기에, 머신 큐가 길고 B의 우선순위는 낮으므로 제가 G를 잡았습니다.
- juwonhyme이 F에 무언가를 고쳤다가 한 번 더 틀렸습니다(59분). 그때쯤 plast님의 K는 구현이 완성되었고 맞았습니다(60분). 머신은 juwonhyme의 F로 돌아갔습니다.
- G의 풀이가 나왔고, B보다는 구현하기 간단하다 생각해서 먼저 짜기로 했습니다. 얼마 안 가서 juwonhyme이 F를 프린트하고 머신을 제게 줬습니다. 이때 plast님이 F에 붙으셨던 것 같습니다.
- G를 구현했으나, 예제가 안 나왔습니다. 제가 구현하는 동안 plast님이 I의 풀이를 내셔서, 바로 프린트하고 머신을 옮겼습니다. 얼마 안 가서 plast님이 I를 맞았습니다(104분).
- 그때쯤인지 그 이전인지, 누군가 F의 오류를 찾아서 제출했으나 틀렸습니다(108분).
- 그때쯤 저는 G에서 두세 개의 오류를 찾았습니다. 그래서 제가 머신을 잡아 G를 고쳤고, 예제가 나와서 제출했으나 틀렸습니다(120분).
- 머신은 plast님이 가져가셨던 것 같습니다. F를 고치러 가셨는지, 다른 걸 짜러 가셨는지는 모르겠습니다. 그동안 juwonhyme이 제 G에서 오류를 찾아줬습니다.
- juwonhyme과 B와 C를 공유하면서 제 B 풀이가 잘못되었다는 사실을 깨달았습니다.
- G를 고쳐서 맞았고(147분), F의 오류도 누군가 찾아서 제출했고 맞았습니다(148분).
중반도 패널티 관리를 잘 못 했고 문제를 느리게 푼 편인 것 같습니다. 하지만 어쨌든 7문제를 풀어서 ‘솔브수로 미는 데’ 대?충 성공하며 1등으로 올라갔던 것으로 기억합니다.
후반 (150분~300분)
- plast님이 M의 구현을 위해 머신을 가져가셨고(이때 펜윅 구현을 물어보셨던 기억이 납니다), 저는 juwonhyme과 남은 문제를 봤습니다. 이때 남은 문제를 쭉 읽었고, 아마 C와 H를 중점적으로 봤던 것 같습니다.
- 다양한 시도를 해 봤고, 딱히 큰 성과를 내지는 못했습니다. juwonhyme이 이전에 C와 H에서 낸 관찰이 있어서 여기에 시간을 박았던 것 같습니다.
- plast님이 M을 한 번 틀리고(165분) 맞았습니다(171분). 그래서 일단 plast님과 H를 공유했는데, 얼마 안 가서 바로 아마도 해일 것 같은 무언가를 찾아서 가셨습니다. 저는 그 해가 올바르다고 생각했고, 다시 B와 C로 돌아갔습니다.
180분에 저희가 8솔브, 2등 팀부터 6솔브인 상태로 스코어보드가 프리즈되었습니다.
- 이쯤에서 뭔가 큰 갭이 있는데, plast님은 H에서, 저와 juwonhyme은 나머지 문제에서 끔찍한 시간을 보내고 싶어? 당하고 있었습니다. 나중에 들어보니 위의 해는 H의 풀이의 일부분이고, 더 많은 관찰이 필요했다는 것 같습니다. H는 두 번 틀리고(209분, 215분) 맞았습니다(232분).
- 그 사이에 juwonhyme과 저는 C, J, L을 읽었고, C에서 쓸만한 관찰을 몇 가지 했습니다. plast님과 C를 공유하니 그럴듯하다고 주장하셨고, 그래서 셋이서 C의 엣지케이스(?)를 잡았습니다.
- 얼마 안 가서 plast님이 C에서 엣지케이스를 안 풀어도 된다고 주장하시며 머신을 가져가셨습니다. 그리고 한 번에 맞았습니다(261분).
- 이제 못 푼 문제로 B, J, L이 남은 상황입니다. plast님이 머신을 가져가신 동안, 저와 juwonhyme은 나머지 문제를 순회하다가 J번에 시간을 박았습니다. 정확한 시각은 모르겠지만, 이 시점 이전부터 J(B?)에서 그럴듯한 풀이가 나오고 있었습니다.
- 그래서 마지막 40분 동안 세 명이서 J(B?)를 보다가, 안 보여서 L을 봤고, 무언가 보여서 plast님이 구현을 시작하셨습니다. 281분에 제출하여 틀렸습니다를 받았습니다.
- plast님이 어떠한 최적화가 필요하다고 하셨고, 저와 juwonhyme이 HLD 말고 생각나는 것이 없다고 주장했고, 마침 제 팀노트에 HLD가 있어서 마지막 15분동안 plast님이 구현을 시도하셨으나 못 짜고 끝났습니다.
프리즈 당시 3등이던 오락실거주중인고양이들 팀이 슼보에 띄워놓은 노란색이 많아서 (이 팀은 초중반 패널티 관리를 저희보다 잘 했기 때문에) 불안했습니다.
이후
가장 먼저 기억나는 것은, 끝나고 얼마 안 가서 dadas08이 와서 ‘B가 쉬운 문제’라고 주장하면서 정해를 쏟아내었습니다. 저는 들으면서 그냥 어려운 문제가 맞다고 주장했습니다. dadas08의 주장에 동의하는 사람은 없었던 것 같습니다.
dadas08이 주장하는 장면은 어그로가 많이 끌릴 만한 장면이기에, (그리고 다다스는 온/오프라인에서 사람을 끌어들이는 어떠한 인력을 가지고 있(다고 제가 최근에 주장하고 있습니다)기 떄문에,) 그러는 동안 많은 사람들이 저희 팀 테이블 주변으로 모여들었습니다.
전체적으로 셋이 애구그-friendly한 데다가 말리기 좋은 문제가 많은 셋이었기에, (아마 이전 셋들의 기조는 그렇지 않았나 봅니다) 체감상 25W보다는 조금 어려웠던 것 같습니다. 운영검수진 분들이 이것 때문에 약간 걱정했었다는 이야기를 들었던 것 같습니다.
M번의 경우, lunarlity 문제였던 것 같은데, 정해는 간단한데 많은 팀에서 세그 딸깍을 했다는 것 같습니다. 중간에 plast님이 M번을 구현하시면서 펜윅 구현을 물어보셨기에, 우리 팀도 ‘많은 팀’에 속한다는 것을 깨달았지만, 저는 M번이 무슨 문제인지도 모르기에 일단 넘어갔습니다.
그 뒤로는 후원사 세션을 진행하고 슼보를 까고 시상식을 한 뒤 연세대의 여러 팀이 섞인 채로 밥을 먹은 뒤 해산했습니다.
슼보 까기
SUAPC는 5시간 대회임에도 2시간 남기고 프리즈를 거는 대회입니다. 그래서 슼보 까는 분량이 조금 더 많습니다. 대회 중에 이것이 좋은지 나쁜지는 잘 모르겠지만, 확실히 슼보 까는 것이 더 재미있습니다.
먼저, 문제의 오락실고양이 팀에서는 실제로 제출한 문제 대부분을 맞아서 10솔브를 했습니다. 대회 후반부에 많은 문제를 해결하다 보니 그만큼 패널티도 많이 나왔고, 다행히도 248분의 패널티 차이로 저희가 이겼습니다. 이 팀에서 무려 J의 솔브가 나왔더라고요.
저희의 최종 패널티는 1381분입니다. 10솔브 치고 패널티 1381은 큰 편인 것 같습니다만, 말리기 좋은 셋이기도 했고 어쨌든 1등을 했으니까 된 게 아닐까요?
ystaeyoon113님의 블로그를 참고해서 이번에도 아는 팀들을 위주로 살펴보면,
- 2위
오락실거주중인고양이들
은 서강대 팀으로, 잘은 모르지만 적폐새내기 dj035님이 포함된 팀입니다. 여기가 서강대의 미래 되는 팀이려나요?- dj035님은 고대에 제게 세그라는 것을 처음 가르쳐 주셨습니다. 그 후로 대면으로 뵌 기억이 거의(어쩌면 아예) 없어서, 이분이 오셨다는 것을 저는 대회가 끝나고 집에 와서야 알았습니다.
- 3위
공공면면공공
은 연세대 팀으로, 대회 초중반에 1등이었어서 기억에 남는 팀입니다. 대회가 끝나고 저녁을 먹으면서 sk091204091204님과 이야기할 수 있었는데, 대충 팔각형에서 기하가 가장 높으셔서 연세대에도 신기하신 분들이 많다고 생각했습니다. - 4위
goraani never dies
는 고라니라는 이름을 남의 블로그나 팀대회 슥보 같은 곳에서 여러 번 본 기억이 있어서 아무튼 강팀이구나 생각했고, 실제로 서강대의 강팀이 맞다고 합니다. - 5위
버스탑승감사합니다
는 단체사진을 찍을 때 상 폼보드를 3등분해서 들고 나온 것이 기억에 남습니다. - 7위
권현우팬클럽
은 어떠한 연세대 PS 디스코드 방을 통해 뵌 분들이 속해 계신 24학번 팀입니다. 슥보 공개 때 H를 8틀 후에 맞았던 것이 기억에 남습니다. - 8위
GPT-5 코딩 잘하던데
는 25W 우승팀이고, 연세대 22학번 군인 팀이라 합니다. 잘은 모르지만 아무튼 3퍼플의 무서운 팀입니다. - 15위
The College Dropout
은 팀원 한 명이 12시까지 대회장에 들어오는 데 실패해서 아쉽게도 2인 참가한 팀입니다. 제가 ‘팀연습하자으헤헤’ 하고 똥을 싸면 s22024가 자주 받아줘서 아주 고마워하고 있습니다. - 16위
강호현팬클럽
은 25W 팀원이었던 conu님이 속한 연세대 24학번 팀입니다. 백준 그룹에서 한 달 넘게 매일 훈련?하시는 게 보였는데 대회 성적은 잘 안 나와서 아쉽습니다. - 17위
척척컴컴
은 25학번 연세대 팀으로, 아마 모두 팀 대회가 처음(이거나 사실상 처음)입니다. 25에 PS하는 사람이 많아져서 좋습니다.
리뷰
저녁 뭐 먹지
는 이번 SUAPC만을 위해 만들어진 팀입니다만, plast님이 이번 ICPC를 끝으로 은퇴하셔도 juwonhyme과는 팀연습으로 앞으로 호흡을 여러 번 맞추게 되지 않을까 싶습니다. 이번 팀은 세상에 나쁜 언어는 없다와 전력이 비슷했고, 그래서 팀 운영도 큰 틀에서는 비슷한 편이었습니다.
- 세상에 나쁜 언어는 없다에 아희한국1등 sciencepark님이 있었다면 저녁 뭐 먹지에는 plast님이 있습니다. 현재 IGM이시고, 실제로 중후반부는 그냥 plast님의 개쩌는 캐리가 팀을 이끌었습니다.
- 이번에도 제가 머신을 잡고 시작했고, 역시나 가장 쉬운 문제를 (의도하지는 않았지만 두 번째로 쉬운 문제도) 제가 잡았습니다. 저는 스피드포스에 있어 빠른 편이지만 정확도는 충분히 높지 않다고 생각해서, 코드포스를 좀 더 열심히 해야겠습니다.
- 후반부에는 전체적으로 plast님이 구현을 잡는 동안 저와 juwonhyme이 능지 공장을 돌리는 형태로 운영했습니다. 능지공장의 성능이 낮았던 것은 안타깝지만 아무튼 비대칭적인 실력대에서 그나마 괜찮은 형태였던 것 같습니다.
- UCPC와는 다르게, 초반을 제외하면 저희 팀이 슥보 최상위권에 있었으므로 슥보를 따라가는 것이 불가능했습니다. 아무래도 평소에 팀셋을 돌면 코포를 통해 오피셜 슥보를 따라가면서 문제를 푸는데, 이번에는 그러기 어려웠기에 중반 이후로는 모든 문제를 파야 했고 그래서 쉽지 않았던 것 같습니다.
- 이번에도 D와 G의 구현에서 모두 조금씩 말렸(고 각각 plast님, juwonhyme의 도움을 받았)기에, 지금 가장 중요한 것은 체급 올리기가 되겠습니다. 고로, 블로그 다 쓰면 이따 셋 돌러 갈 예정입니다.
2024 회고를 쓸 때 예상했던 것과 다르게, 오피셜한 팀 대회에서는 아직 제가 가장 강한 사람인 팀으로 뛰어보지 않았습니다. 그런데 ICPC에서는 그렇게 되지 않을까 싶어서, 팀 연습을 더 열심히 뛰어야겠습니다. 역시나 앞으로도 정진합시다.