대회 후기/출제 & 검수

2023 UDPC 개최 후기

leo020630 2023. 4. 15. 05:40

그간 참여한 대회 중 가장 공을 많이 들인 제1회 UDPC가 끝이 났습니다. 사실 세부적인 부분으로 들어가면 아직 끝난 것은 아니긴 한데, 그래도 기억이 조금이나마 살아있을 때 글을 쓰려 합니다. 

 

대회 링크 : https://www.acmicpc.net/category/detail/3563


발단

이 대회가 처음 구상된 것은 무려 1년 전 쯤입니다. 한창 PS에 뇌가 절여져 있던 저는 여느 때와 다름없이 학교에 PS를 하는 사람이 너무 없음에 대해 한탄 중이었습니다. (사실 이건 지금도 똑같습니다.) 지리적으로도, 사회적으로도 포스텍은 PS 변방에 속했기 때문에 SUAPC를 여는 신촌 연합이나, shake!를 여는 경인지역 연합처럼 같이 공부를 하거나 대회를 열 수 있는 대학이 있으면 좋겠다고 생각했습니다. 이러한 생각을 바탕으로 머리를 열심히 굴린 결과 PS 실력, 지리적 위치, 학교 특성이 모두 비슷한 DGIST와 UNIST를 섭외해보면 좋겠다는 결론에 이르렀습니다. DGIST는 고등학교 때부터 같이 PS를 한 g3gogogo가 있었기에 연락을 쉽게 할 수 있었고, UNIST는 DGIST 분들을 통해 연락이 닿았습니다.

 

다행히도 연합해서 무언가를 하면 좋겠다는 점은 세 학교의 의견이 모두 일치했고, 우선 연합 대회를 열기로 결정이 되었습니다. 하지만 각 학교의 교내 대회가 DGIST 5월 - POSTECH 9월 - UNIST 11월 순으로 모두 제각각이었고, 여름 방학엔 UCPC나 SCPC 등의 굵직한 대회들이 열리기 때문에 정확한 대회 일정을 잡기는 힘들었습니다. 그렇게 11월까지는 별 진전이 없이 흘러갔고, UNIST의 교내대회가 끝난 11월에서야 논의를 시작할 수 있었습니다. 회의를 진행한 결과 개최 시기의 후보를 겨울방학 또는 3월, 둘로 줄일 수 있었습니다. 시간도 없고 참여도도 저조할 겨울방학보다는 신입생이 들어온 3월에 대회를 여는 것이 낫다고 판단해 3월 개최를 확정지은 후 본격적인 대회 준비를 시작했습니다.

 

준비 과정

세 학교는 많은 공통점을 가지고 있지만, 그 중에서도 두드러지는 것은 시골에 있다는 학생 수가 적다는 점입니다. 당연히 PS를 하는 사람 역시 많지 않습니다. 포스텍에서는 ICPC 팀 선배 두 분과 올해 동아리에서 알고리즘 분야 회장을 맡은 petamingks를 데려왔습니다. DGIST에서는 g3gogogo, ekwoo, bnb2011, 99asdfg님이, UNIST에서는 queued_q님과 mskim17님이 수고해 주셨습니다. PS 실력과 대회 운영 경험을 모두 갖춘 분들이 계셔서 안심이 되었습니다. 대회를 무에서부터 만들어나가야 했기 때문에 정할 것이 많았습니다. 대회 이름은 (UDP)! + C중 고민하다 어감이 좋은 UDPC로 결정되었고, 대회 컨셉은 3월이라는 시기 + 잘하는 사람은 어차피 다 운영진으로 빠졌기 때문에 서강대의 청정수컵 같은 뉴비 친화적인 대회로 정해졌습니다.

 

대회에 대한 전반적인 사항을 다 정했다면 크게 두 가지를 해야 합니다. 후원사 모집과 문제 출제입니다. 저는 문제 출제는 경험이 꽤 있었지만, 대회 운영은 모두 처음 겪는 부분이었습니다. 하지만 대회를 열자고 한 사람이 저이기에 눈물을 머금고 주위에 물어 가며 열심히 후원사를 구했습니다. 그 결과 현대모비스, 구름, MOLOCO, SK Devocean, 삼성 소프트웨어 멤버십, 한빛미디어가 후원을 해 주시기로 결정되었습니다. 후원사 모집에 대해 슬픈 이야기를 많이 들었어서 아예 안 구해지면 어쩌나 걱정을 좀 했는데, 후원사 분들께 좋게 보이는 부분이 있었는지 보낸 양에 비해 성공률이 꽤 높아 안심했습니다. 또한 utilForever님과 ilium님이 개인 후원을 해 주셨습니다. 다시 한 번 정말 감사하다는 말씀 드리고 싶습니다.

 

다행인 점은, 대회 컨셉이 뉴비 친화적인 방향으로 결정되었기에 문제 출제에는 엄청나게 큰 노력을 다하지 않아도 되었다는 점입니다. 저는 한 1주일정도 문제를 열심히 생각해 큐에 넣었고, 가장 어려운 문제 하나만 뽑혔습니다. 다행히 다른 훌륭한 출제진 분들이 문제를 잘 만들어 주셔서 브론즈~골드 정도 난이도의 10문제로 셋이 완성되었습니다.

 

이렇게 대회의 큰 부분이 모두 채워졌지만, 아직 해야 할 일이 산더미입니다. 특히나, 상품을 주는, 오프라인, 연합 대회였기 때문에 일이 거의 3배에 달했습니다. 게다가 Division도 나눠져 있고, 외국인 참가자가 있어 해야할 일이 더욱 많았습니다. 간단히 요약을 해 보면 다음과 같습니다.

 

 

출제 관련

  • polygon 만들기
  • 디스크립션 관리용 overleaf 만들기
  • 백준님께 연락해 스택 권한 얻기
  • 출제/검수 현황 시트 만들기
  • 에디토리얼 작성하기
  • (외국인 참가자가 존재할 시) 위 중 일부를 영어로 한번 더 하기
  • ...

운영 관련

  • 대회 장소/시간 정하기
  • 상품 정하기
  • Division 기준 정하기
  • 특별상 기준 정하기
  • 참가 신청서 만들기
  • 후원사와 지속적인 연락
  • 대회 운영 자금 관리하기
  • 포스터 만들기
  • solved.ac 배경/뱃지 제작하기
  • 안내사항 등 메일 전송하기
  • 명찰 만들기
  • (외국인 참가자가 존재할 시) 위 중 일부를 영어로 한번 더 하기
  • ...

이 중 제가 할 수 있는 것은 거의 제가 했고, 다른 운영진 분들은 각 학교에서 할 수 있는 일이나 후원사 연락, 메일 전송, 운영 자금 관리 등을 분담해서 맡아주셨습니다.

 

solved.ac 뱃지와 배경이 있는 대회의 운영을 맡은 것은 처음이라 어떻게 제작해야 할 지 고민이 많았습니다. 마침 B번 지문에 들어가는 UNIST 마스코트 윤이의 이미지를 사용하기 위해 해당 그림을 그린 작가님께 허락을 맡아야 했고, 외주 느낌으로 배경 제작까지 의뢰하게 되었습니다. 배경과 뱃지 모두 예쁘게 나온 것 같아 몹시 마음에 듭니다.

 

문제별 후기

사실 낸 문제도 많지 않고 + 뉴비 대상 대회라 문제가 어렵지 않았고 + 운영 때문에 바빴기에 출제에는 큰 신경을 쓰지 못했습니다. 그래도 각 문제를 간단하게 리뷰해 보도록 하겠습니다. 배치는 출제진이 생각한 난이도 순서입니다.

 

A. 탁구 경기 / 출제자 : queued_q

 

좋은 브론즈 하위 문제입니다. 식상하지 않은 브론즈 하위 문제인 것 만으로 큐에 들어갈 가치가 차고 넘쳤기에 무난히 출제를 확정지었습니다. 세팅 과정에서도 큰 이슈는 없었습니다.

 

B. UDPC 파티 / 출제자 : g3gogogo

 

무난한 코포식 케이스 워크 문제입니다. 문제 내용이 좋다기보다는 컨셉이나 난이도가 뉴비 대상 대회에 알맞기 때문에 출제되었습니다. 나름 아기자기하고 좋은데, 지문 서술이 좀 부족했는지 본 대회와 오픈컨 모두에서 맞왜틀이 많이 나왔습니다. 이는 대회가 끝난 후에도 여전한 것 같습니다. ㅎㅎ

 

C. 카드 뒤집기 / 출제자 : qjatn0120baek

 

역시 쉬운 코포식 constructive 문제입니다. 뭔가 어디 있을 것 같긴 한데 다들 별 말이 없으신 걸 보면 그런 건 아닌가 봅니다. 역시 별 다른 이슈는 없었습니다.

 

D. 동전 퍼즐 / 출제자 : queued_q

 

재미있는 브루트 포스 문제입니다. 그냥 쉬운 브루트 포스 기본급 문제라고 생각했는데 이런 문제에 익숙하지 않으면 헤멜 여지가 있는 듯 합니다. 발상 난이도는 E와 비슷한 것 같은데 구현이 어려워서인지 티어가 더 높게 찍혔습니다.

 

E. 현대모비스 입사 프로젝트 / 출제자 : 99asdfg

 

원래는 F가 E에 있었고 대신 벚꽃 엔딩 뒤에 한 문제가 더 있었는데, 난이도 커브와 컨셉 등 여러 이유로 마지막 문제가 빠지고 어차피 후원사 문제가 하나 필요했기에 이 문제가 들어가게 되었습니다. 좀 뻔하긴 한데 교육적인 그리디 문제입니다.

 

F. 햄버거최대 몇개드실수있나요? / 출제자 : g3gogogo

 

E번에 이은 그리디 문제입니다. 조건이 여러가지 바뀌다 현재의 버전으로 확정되었습니다. 지문 컨셉과 제목은 출제자분이 마지막까지 바꿀까 고민하다 결국 그대로 내게 되었고, 제한도 전날 Rust에서 제곱 풀이가 뚫린다는 점이 발견되어 10만에서 20만으로 증가되는 등 우여곡절이 조금 있었습니다. 그리디 부분보다는 imos법 등으로 구간 업데이트를 처리하는 것이 병목이라고 생각되었는데, 역시 본 대회와 오픈컨 모두에서 E와는 솔브 수 차이가 조금 있었습니다.

 

G. 윤이는 엄청난 것을 훔쳐갔습니다 / 출제자 : queued_q

 

재미있는 그래프 문제입니다. 셋을 처음 확정했을 때 그래프 문제가 없어서 queued_q님이 만들어 넣어주셨습니다. 발상은 어렵고 구현은 비교적 쉬운 좋은 문제라고 생각합니다. 제목은 무슨 뜻인지 몰랐는데, 번역을 하며 찾아보니 뭔가 밈이 있는 것 같아 반영해서 영어 지문을 작성했습니다.

 

H. 인덕션 / 출제자 : g3gogogo

 

비교적 전형적인 DP 문제입니다. \(O(1000N)\)에는 비교적 쉽게 풀 수 있고, 경찰차랑 같은 방식으로 \(O(100N)\)에도 해결할 수 있습니다. 딱히 특별한 부분은 없습니다.

 

I. Quartet / 출제자 : bnb2011

 

재미있는 그래프 문제입니다. 그래프라곤 하지만 개념만 쓰이는 수준이고, 케이스 워크만 잘 하면 별로 어려운 부분은 없다고 생각합니다.


J. 벚꽃 엔딩 / 출제자 : leo020630

 

이번 대회에 출제한 유일한 문제입니다. 좀 전형적이긴 하지만 좋은 문제라고 생각합니다. 처음엔 정해가 쉽다고 생각해서 G3을 주었는데, 결국 P5까지 올라갔습니다. 세그로 뚫은 분들이 많아서인 것 같습니다. 

 

리뷰 내용이 다 너무 똑같네요.. 문제가 전체적으로 쉽다 보니 할 말이 없어지는 것 같습니다. UDPC가 꾸준히 열려 각 학교의 참가자 수준이 높아지길 기대해봅니다.

 

살짝 아쉬운 점은 Division 별 난이도 구분이 없었다는 점입니다. 시간이 부족했기도 했고 운영진 회의 결과 실력과 학년이 무관하다는 의견이 많아 그대로 진행되었는데, 아무래도 PS를 열심히 하는 신입생이 잘 없다 보니 실제 대회에서는 Senior Division의 참가자들이 더 나은 퍼포먼스를 보여주었습니다.

 

대회 진행

오프라인 대회이다 보니 할 게 은근 많았습니다. 우선 각 학교에서 장소를 섭외해야 하고, 홍보 포스터를 부착해야 했습니다. 포스터는 queued_q 님이 멋진 퀄리티로 만들어 주셨습니다. 그리고 여러 주의사항이 적힌 메일을 대회 전에 일괄적으로 전송했습니다. 각 학교에서 대면으로 진행되었기에 다른 학교의 운영 과정은 잘 모르지만, 저희는 대회 전날 현장 스태프끼리 모여 환경 점검 또한 진행했습니다.

 

대회 당일은 눈코 뜰 새 없이 순식간에 지나갔습니다. 비록 타 대형 대회들처럼 티셔츠나 풍선은 없었지만, 명찰이라도 매고 있으니 대회 분위기가 나서 만족스러웠습니다. 다만 안내를 열심히 했음에도 당일 노쇼가 많았던 점은 아쉬웠습니다. 

 

대회 전날 알아본 바로는, UNIST 분들 중 실력이 굉장히 뛰어나신 (CF 2000점대) 분들이 꽤 있어 놀랐습니다. 아니나 다를까, Senior Division의 우승자 분은 1시간동안 단 1번 틀리고 8솔을 하는 엄청난 퍼포먼스를 선보이며 치고 나갔습니다. I에서 조금 헤메긴 했지만, 압도적인 페널티 올솔을 하시며 결국 우승을 차지했습니다. 전체적으로 UNIST의 외국인 참가자 분들이 굉장한 실력을 가지고 있었다는 것을 확인할 수 있는 대회였습니다. 난이도 커브가 너프를 많이 한 버전이었는데, 다음 해에는 조금 더 어렵게 내도 될 것 같습니다.

 

스코어보드 외적으로는 준비가 미흡했던 점이 대회 당일날 티가 나 힘들었던 것 같습니다. 솔루션 완성, 특별상 기준 선정 등을 대회 시간 내에 하려니 시간이 조금 빠듯했던 것 같습니다. 제 문제인 J번 지문 설명이 미흡하다는 질문이 들어와 그것 역시 수정해야 했습니다.. ㅜㅜ

 

대회가 끝나고는 후원사 홍보 세션이 있었습니다. 3개의 후원사에 대해 세션을 진행해야 했기에 1시간이 넘어가는 길이였음에도 대부분의 참가자가 잘 들어주었습니다. 홍보 세션이 운영진 입장에선 꼭 필요하고 참가자 입장에서는 가장 재미없는 시간인데, 이에 대한 절충안이 있으면 좋을 것 같습니다.

 

오픈컨에서는 고수 분들이 잘 풀어주셨습니다. aeren님이 모든 문제를 90분 안에 1트로 맞춰주시며 우승을 차지하셨습니다.

 

소감 및 후기

여러 대회 운영에 참여했지만, 대회 운영에 이렇게 깊게 관여한 것은 처음입니다. 사실 대회 제안자가 저이기 때문에 좀 힘들어도 참고 열심히 했습니다. 출제+운영진으로 각 학교에서 저를 포함한 총 10분이 도와주셨는데, 모두가 정말 열심히 노력해주셔서 대회가 잘 마무리될 수 있었던 것 같습니다. 심지어 10분 중 5분은 현재 병역의 의무를 다하고 계시거나, 졸업을 하셔서 재학 중이 아닌 상황인데도 정말 많은 도움을 주셨습니다. 그 말은, 이 인원 중 절반은 내년에도 운영에 참여할 확률이 희박하다는 뜻이기도 해서 걱정이 됩니다. 저도 내년에 학교에 있을지 확신을 할 수 없는 상황이라, 각 학교에서 PS에 진심인 분들이 잘 이끌어 주셨으면 좋겠습니다.

 

검수진 분들과 후원사들 역시 대회 운영에 정말 큰 도움이 되었습니다. 후원사가 없었다면 대회는 개최조차 되지 않았을 것입니다. 특히 요즘 열리는 PS 대회들을 보면 항상 후원을 하는 회사/개인이 여러 대회에 후원을 해 주시는 모습이 많이 보이는데, PS 생태계에 있어 정말 소중한 분들이라는 생각이 듭니다. 현대모비스, MOLOCO, 구름, 삼성 소프트웨어 멤버십, 한빛미디어, SK Devocean, Startlink, 그리고 utilForever님과 ilium님께 다시 한 번 감사의 말씀을 전합니다.

 

이번 UDPC를 개최하며 가장 많이 든 감정은 뿌듯함이지만, 한편으로는 생각을 많이 하게 되었습니다. 요즘 백준을 보며 든 생각은 옛날과 달리 대회가 정말 많아졌다는 점입니다. PS 생태계의 인구도 증가하고, 커뮤니티도 여럿 활성화 되면서 교내대회를 여는 학교가 많아졌을 뿐만 아니라, 예전에는 정말 찾기 힘들던 유저 개최 대회도 우후죽순 생겨나고 있습니다. 대회가 많아지는 것은 당연히 긍정적인 현상이나, 대회를 여는 것은 생각보다 많은 노력이 드는 일입니다. 이번 대회를 통해 다시 한 번 깨달을 수 있었습니다. 대회 운영에 참여하시는 분들 모두 정말 존경합니다.

 

UDPC는 각 학교 간의 교류를 취지로 만들어진 대회이기에, 이번 대회 이외에도 교류할 수 있는 기회가 있으면 좋겠습니다. 개인적으로 SUAPC 출제에 2번 참여하며 연합 시스템을 일찍 구축하고 실행해 많은 결과물을 만든 신촌 연합이 대단하다는 생각이 들었습니다. 저희 연합도 이러한 점을 모티브로 계속 발전해 나가면 좋겠습니다. 비록 거리가 좀 있어서 물리적인 교류가 어렵긴 하지만.. 차로 1시간이면 어떻게 가능하지 않을까요? 제5회 UDPC 쯤에는 버스를 빌려서 한 학교에 모여 대회를 하는 상상을 해 보며 글을 마칩니다.

 

제1회 UDPC가 무사히 개최될 수 있도록 도움 주신 분들, 대회에 참여해주신 모든 분들께 감사드립니다.

'대회 후기 > 출제 & 검수' 카테고리의 다른 글

2023 코드마스터 검수 후기  (2) 2023.06.22
2023 PPC 개최 후기  (6) 2023.05.30
2023 SUAPC Winter 출제 후기  (4) 2023.02.27
2022 GCC 개최 후기  (3) 2022.12.27
2022 Goricon 검수 후기  (3) 2022.11.15