Post

나는코더다 2024 반년대회 개최+운영 후기

글을 올리는 시점 기준으로, 대회 이름차럼 반년 정도 준비한 1회 나는코더다 반년대회가 끝났습니다. 어쩌다 보니 대회 운영에서 총괄? 비슷한 무언가를 맡게 되었습니다.

1월: PS 동아리 운영은 어렵다.

  • 나는코더다는 아마 고등학교 PS 동아리로는 규모가 사실상 가장 클 것 같습니다. 그럼에도 동아리 내에 알고리즘을 진심으로 배우고자 하는 사람들은 많지 않습니다.
    • solved.ac 디스코드 잡담 채널의 스레드 중 ‘알고리즘 교육학과’라는 스레드가 있습니다. 저희 동아리만 가지고 있는 고민거리는 아니었더라고요?
  • 그래서 어떻게 해야 효과적으로 동아리를 운영할 수 있을지 친구들과 많은 이야기를 했었습니다. 그중 하나의 방법으로 나온 것이, 문제 출제를 시켜보면 재미있지 않겠느냐는 것이었습니다.
  • 사실 경기과학고의 필수수강과목인 정보과학I 수업에서 모든 학생들이 문제를 하나씩 만들어보긴 합니다. 그러나, 실제로 골드 이상의 난이도에 대회에서 사용하는 자료구조와 알고리즘을 가지고 만드는 문제는 하나를 내면서도 배울 것이 많다고 생각했습니다.
  • 그리고, 밸리데이터와 제너레이터를 짜고 검수진들의 지문 검수와 데추주와 다양한 피드백으로부터 배울 수 있는 것도 많다고 생각했습니다.
    • 처음으로 외부검수를 했던 게 작년(23년) 말 내지 올해(24년) 초였던 것 같습니다. 그때 제가 느꼈던 것이 ‘문제 출제+검수 프로세스에서는 배울 것이 많다’는 점이었습니다.
  • 실제로 대회를 개최하자는 이야기는 아니고, 그냥 지나가는 이야기였습니다. 아니, 지나가는 이야기로 끝날 줄 알았습니다…

    2월: 스폰서 제의

  • 그러던 와중 2월 말 정도에, 기업 제인스트리트에서 나는코더다에 관심을 가지고 있다는 소식을 전달받았습니다.
    • 그 과정도 이야기하면 긴데, 저만의 이야기가 아니다 보니 여기 언급하지는 않겠습니다. 궁금하시면 디코 DM 주세요 언제든 환영합니다
  • 당연히 대회 개최에 대해 이야기했던 것이 떠올랐고, 이틀 정도의 논의 후에 대회를 하나 더 개최해 보기로 했습니다. 위의 내용처럼, 송년대회와 달리 ‘많은 부원이 콜포테를 통해 문제를 낼 수 있고 그 과정에서 많은 것을 배워 가는’ 대회를 까짓거 한번 열어보기로 한 겁니다.
  • 이 내용을 전달했고, 이후부터는 기장인 denniskim과 제인스트리트 간에 직접 메일을 주고받았습니다. 다만 실제로 메일을 작성했던 것은 대부분 영어가 익숙한 저와 gs22123이긴 했습니다.

    3월: 대회를 개최하는 방법

  • 대회를 열기로 하긴 했으나, 그 외에 결정된 것이 하나도 없었습니다. 개학과 24년도 icqt가 진행되는 동시에, 동아리 부원들끼리 대회 형식에 관해 논의했습니다.
  • 경쟁적 프로그래밍 대회도 정말 다양한 형식이 존재합니다. 개최하는 입장에서 대회를 열 때 고려해야 할 것을 추려서 적으면 다음과 같습니다:
    • 온라인이냐, 교내 오프라인이냐?
      • 전자라면 참가자 풀이 매우 크게 늘어납니다, 그리고 상품 예산도 많은 사람들에게 뿌릴 수 있다는 장점이 있죠. 그러나 학교 학생들의 참가를 지향하기에는 좋지 않습니다.
      • 후자인 경우, 송년대회를 기준으로 하면 최대 60명 정도를 온사이트에 불러서 대회를 열 수 있습니다. 온사이트라 더 재밌기도 하고, 교내 참가자를 늘리는 데 매우 큰 도움이 됩니다. 그러나 그만큼 오픈 참가자들에게는 돌아가는 것이 적습니다.
      • 처음엔 송년대회의 존재 때문에 반년대회는 전자를 택하려 했습니다. 그런데 송년대회와 아예 다른 형식의 대회가 되면서, 까짓거 모두 오프라인으로 해도 되겠다고 생각했습니다.
    • 개인전이냐, 팀전이냐?
      • 송년대회가 이미 팀전으로 열리기에, 사실 반년대회는 개인전 대회가 될 확률이 매우 높았습니다. 실제로 그렇게 되기도 했고요.
    • 몇 시간동안 몇 문제를 푸느냐?
      • 시간당 풀어야 하는 문제 수는 생각보다 매우 중요한 이슈입니다. 대회의 퀄리티가 사실 여기에 달렸다고 해도 무방하거든요. 팀전이 아니기 때문에 송년대회나 ICPC마냥 5시간 동안 잡고 있을 생각은 안 했습니다.
      • 코드포스보다는 적고 정올이나 다른 고등학생 대회들보다는 많은, 3시간 6~8문제 혹은 4시간 8~10문제로 하는 것이 좋겠다 생각했고, 문제를 많이 받고 싶어서 4시간 10문제로 결정했습니다.
    • 예산을 어떻게 해결하느냐?
      • 원래는 가장 중요한 문제입니다. 정말 감사하게도, 저희는 대회 개최를 결정하기도 전에 이 문제에 대한 답을 알고 있었습니다.
      • 그러나 얼마나 많은 돈을 써야 할지도, 얼마나 많은 금액을 스폰서 받을지도 결정되지 않은 상태였습니다. 아니, 애초에 스폰서가 확정되지도 않았고요.
    • 그러면, 돈을 얼마나 쓰려고 하는가?
      • 경기과학고에서 교내 오프라인 대회를 열 때는 참가자가 최대 60명 정도로 제한됩니다. 대회를 열 수 있는 가장 큰 공간인 본관 강당이 크지 않기 때문입니다.
      • 솔브드에서 진행한 그랜드 아레나 파티와 같이, 절반 이상의 참가자가 무언가를 가져갈 수 있으면 좋겠다고 생각했습니다.
      • 송년대회 후원금액과 상품 규모를 기반으로, 적당히 상품 규모를 먼저 선정했습니다. 특별상도 넉넉히 주고 싶었기에, 이를 고려해서 예산안 초안을 만들었습니다.
      • 외부검수비는 상품과 함께 대회 운영에 있어 가장 중요한 지출입니다. 얼마를 주는지 단가도 정해야 합니다. 예산에 추가했습니다.
      • 송년대회는 참가자 전원에게 피자를 2인 1판으로 사줍니다. 반년대회도 똑같이 하고 싶었습니다. 예산에 추가했습니다.
      • 풍선도 구매해 주어야 합니다. 헬륨풍선을 쓰기에는 예산이 너무 많이 들기에, 일반 고무풍선과 풍선 스탠드를 사용했습니다.
        • 솔브드 디스코드의 출제-검수-운영 포럼에 풍선과 관련된 포스팅이 있으니, 참고하면 좋습니다.
      • 기타 이런저런 것을 고려하면, 온사이트 대회는 생각보다 예산이 많이 필요하다는 것을 알 수 있게 됩니다. 원래 돈이 가장 많이 들어가는 장소 섭외가 필요 없음에도 이렇습니다.
        • 대충 일곱 자리 정도 되는 액수가 필요합니다. 궁금하시다면, 역시 제 디스코드 DM은 열려 있습니다.
    • 이에 더해, 문제를 서브태스크 문제를 낼지, 콜포테는 언제 얼마나 받아서 얼마나 뽑을지, 인터넷이나 팀노트를 허용할지, 대회 이름은 어떻게 할지 등 많은 것을 논의해야 합니다.
  • 개최 방안을 논의하는 동시에, 스폰서와 메일도 주고받아야 합니다. 본래 스폰서를 받고자 하면, 무엇을 하는데 스폰서가 필요하고 스폰서에게 돌아가는 이익은 뭐가 있는지를 작성하는 proposal을 써야 합니다. 한마디로 돈 좀 달라고 호소를 하는 문서를 써야 합니다.
    • 저희도 이런 걸 써본 적은 없었고, 처음 계약하는 스폰서에게 프로포절을 써본 주변 지인도 없었습니다.
    • 저희가 쓴 프로포절에는…
      • 우리가 무엇을 하는 동아리인가? (얼마나 제대로 된 동아리인가?)
      • 어떤 식의 대회를 언제 열고자 하는가? (바로 위에 적은 저런 내용 중 일부)
      • 얼마나 많은 지원이 필요한가?
      • 스폰서에게 돌아가는 혜택은 무엇이 있는가? (다만, 저희는 기업에서 먼저 접근하는 경우였고, 고등학생을 대상으로 홍보하고 싶은 specific한 무언가가 있었습니다. 저희는 해당 건을 홍보하는 세션을 슥보 공개 전에 추가하는 내용으로 우선 이야기했습니다.)
    • 같은 내용이 들어갔던 것 같습니다.
  • 이를 모두 준비하다 보면, 시간은 생각보다 빠르게 지나갑니다.

    4~5월: 무슨 문제를 내는가

  • 중간고사 시즌이 지나가면 4월 중 1주일 정도가 남습니다.
  • 나는코더다 디스코드에는 출제할 만한 여러 가지 문제 아이디어가 있습니다. (송년대회 두 번 정도는 바로 열 수 있는 양이라고만 얘기해두겠습니다.) 그러나, 이들 문제로 대회를 채우기는 싫었습니다.
  • 왜냐면, 위에서 얘기한 것처럼 대회의 본 목적(은 아니지만 아무튼) 중 하나로 ‘더 많은 학생이 문제를 내고 검수하는/검수받는 것을 경험하도록 함’이 있었습니다. 그래서 콜포테를 받아보기로 헀습니다.
  • 콜포테라는 개념 자체에 익숙하지 않은 부원들이 대부분이어서, 설문지를 최대한 간략하게 러프한 아이디어만 적어서 낼 수 있도록 만들었습니다. 그럼에도 많은 문제가 올라오진 않았습니다.
  • 너무 쉬운 문제와 비슷한 문제가 있는 문제들을 제외하고 나니, 뽑을 만한 문제가 딱 하나 남았습니다. 콜포테 기간을 5월으로 더 연장했지만, 딱히 올라오는 아이디어는 없었습니다. 42기에서는 1문제만을 뽑았고, 41기에서는 문제를 아예 못 뽑았습니다.
  • 어쩌다 보니 ‘더 많은 학생이 문제를 내고 검수하는/검수받는 것을 경험하도록 함’이라는 목표는 달성하지 못하게 되었습니다. 한 문제는 원래 출제진을 하기로 한 41기 기장이 맡았고, 나머지 8문제를 40기에서 집어 쓰기로 했습니다.

    6월: 문제를 출제한 이야기

  • 아마 이때쯤에 스폰서 계약이 확정되었고, 이런저런 서류 작성을 시작했던 것 같습니다.
  • 스폰서 계약을 위해서는 다음과 같은 서류를 작성해야 합니다:
    • W-8BEN Form: 미국에서 국외로 돈을 송금받기 위해 작성하는 서류입니다. pdf에 글씨를 직접 쓸 수 있는 칸이 있으므로, 모든 정보를 입력한 후 프린트해서 싸인만 합니다.
    • Invoice: 말 그대로 인보이스를 적절하게 작성해서 보내야 합니다. 예산안이 구체적으로 들어갈 필요는 없습니다. 저희는 상품에 얼마, 현장 준비에 얼마, 검수비에 얼마 이런 식으로 작성했던 것 같습니다.
    • 외에도 기업에서 요구하는 Information Form 등이 있을 수 있습니다.
    • 주변에 동일 기업에서 후원을 받은 적이 있는 사람이 있다면 물어보면 됩니다.
    • 저는 왜 그런지는 모르겠지만 제 명의로 쓰기로 했었던 것 같습니다. 그것 때문에 대회를 총괄?하게 된 게 아닐까 싶습니다…
  • 그리고 이제 진짜로 문제를 선정하고 출제해야 했습니다.
  • 일단 콜포테로 뽑힌 한 문제는 별다른 변경 없이 바로 낼 수 있었습니다. 저는 브상-실하를 밀었고, 정확히는 B1을 주겠다고 주장했습니다.
  • (제 기억상으로,) 6월 초 기준으로 콜포테에서 B, 나코더 내부 문제은행에서 F, H, gs22123이 즉석에서 낸 문제로 A를 냈습니다. 거기에 빛을 보지 못한 문제은행의 두 문제 (대충 X, Y라 합시다)까지 6문제가 출제 준비 중이었습니다. 이때는 A가 브론즈, B가 실버 하위, F가 다이아 하위, H가 플레 상위 정도로 예측했습니다.
    • 제가 낸 F는 매우 오래된 문제입니다. ‘지문이 트리로 가득 찬’이라는 제목이 작년에 붙었던 문제로 기억합니다. 기초R&E 이후로 강의실 배정 스타일의 interval greedy가 마음에 들어서, 그걸 확장하는 느낌으로다가 아이디어가 나와서 만들어진 문제입니다. 출제하고 나서 [컨벤션 센터] 문제를 접했고 문제가 꽤나 비슷해서 난이도가 같다고 생각했고, 그래서 D5~D4로 생각했던 것 같습니다.
    • 역시 제 문제인 H는 그렇게 오래되지 않은 문제입니다. 경곽 애들이 자구 뚝딱보다는 그래도 수학을 좋아할 것 같아서 냈습니다. 보통 2차원상에 3차원 이상의 그림을 표현하기 위해 나머지 축과 평행하지 않도록 축 하나를 더 그리잖아요? 그걸 가지고 이런저런 생각을 하다가 만들어진 문제입니다. 비슷한 시기에 BOI 2024에 이 문제와 사실상 같은 아이디어를 쓰는 문제인 [Portals] 문제가 나왔는데, 어떻게 비슷한 시기에 나왔는지는 잘 모르겠습니다. 제 딴에는 P2를 주면서 생각했는데, 검수하다 보니까 다이아까지 올라갔네요.
    • B는 제가 낸 문제는 아니지만, 세팅은 제가 했기 때문에 얘기하겠습니다. 문제 지문을 읽으면 풀기 매우 꺼려지지만 -1을 항상 출력하면 된다는 게 깔쌈했던 것 같습니다. 원래는 두 점 사이 거리가 모두 다르다는 제한이 있었지만, 그런 제너레이터(밸리데이터)를 어떻게 제곱 미만에 짤지 모르겠어서 제한을 없앴습니다. 이후 증명은 제가 했는데, 우선순위만 주면 -1인지 증명하는 것 자체는 어렵지 않더라고요. 제한을 없앤 것때문에 난이도는 브론즈에서 실버로 기여했습니다.
    • A는 그냥 브론즈 문제로 어울린다 생각했습니다.
  • 6월 말, X를 출제하지 않기로 했고 대신 D를 냈습니다. 원래는 떼고 붙일 때 최대 깊이만 구하면 되는 문제였고, 골드라고 예상했습니다.
    • D는 X를 출제하지 않기로 결정하면서 제가 그 자리에서 10분 만에 생각해낸 문제였습니다. 그냥 트리가 나오고 골드인 문제를 내자는 생각으로 냈습니다근데왜플레가됐을까요. 원래 최대 깊이만 구하라고 하려고 했는데, 어쩌다 보니 지름을 구하는 문제가 되었습니다. 이게 난이도를 좀 올린 것 같네요. 이것이 나중에 C를 골드화하는 계기가 됩니다.
  • 같은 시기에 C가 나왔습니다. 원래는 수를 제거하는 쿼리가 있었고, 세그를 쓰는 플레 문제였습니다.
    • C는 gs22123과 ehlee0815가 정당성을 매우 어렵게 증명했던 것 같습니다. 그러나 결국 제거 쿼리가 없어져서 쉬운 문제가 되었고요.
  • 그럼 A, B, C, D, F, H, Y까지 7문제가 나오고 3문제가 남습니다. 남은 3문제는 denniskim, ehlee0815, lighton이 각각 한 문제씩을 내기로 했습니다.
  • 6월 말에 계약서 작성이 완료되었던 것 같습니다.
  • 여기까지를 정해두고 기말고사 대비를 했습니다.

    7월 초: 검수진 모집 공고 + 예산 관리

  • 시험이 끝난 날이었습니다. 내신으로부터의 해방도 잠시, 바로 검수진을 모집하는 글을 작성해서 백준에 업로드하였습니다.
  • 업로드한 글은 여기입니다. 대략 검수진 모집 공고에 올려야 할 기본적인 정보는 모두 올려둔 것 같습니다.
    • 지원은 구글 폼으로 받았습니다. 저는 이메일을 받았는데, 그냥 디스코드 핸들을 받아도 될 것 같습니다.
    • 저희는 검수비 40만원을 책정했고, 8명을 받았습니다. 몇 명이나 받는지를 적지는 않았는데, 지금 생각해보니 적는 게 더 나았을 것 같네요.
    • 요즘에는 검수비를 받지 않아도 검수를 원하는 인원을 위한 시트도 따로 마련하는 것 같더라고요? 코드포스 tester 느낌의 검수자라도 일단 많으면 대회 퀄리티에 도움이 되므로, 이런 식으로라도 더 많은 사람을 모으는 것도 추천합니다.
  • 예산 시트를 본격적으로 쓰기 시작했습니다. 당시 정한 상품은 다음과 같습니다:
    • 1등: LG 그램 +View2 포터블 모니터. 약 30만 원에 구할 수 있었습니다.
    • 2등: 젠하이저社 블루투스 헤드폰. 그냥 아무거나 집어뒀던 것 같습니다. 15~20만 원에 구할 수 있었던 것 같은데, 정확한 제품은 모르겠습니다.
    • 3등: Cherry MX Board 3.0s 키보드. 아레나 파티에서 주는 것을 보았고, 꽤나 키보드가 괜찮다고 들었던 것 같습니다.
    • 4..7등: 로지텍 G304. 국룰 상품이죠? 송년에서도 매번 3등에게 주는 마우스입니다.
    • 8..15등: 마플샵 커스텀 장패드. solved.ac 배경을 주고 싶었고, 그 디자인으로 장패드를 사서 뿌리면 좋겠다고 생각했습니다.
    • 외에 10개 문제에 대한 퍼솔상을 모두 준비하고자 했고, 예를 들면 F번에는 통나무 모양의 키링을, H번에는 스케치북을 주는 식으로 문제에 어울리는 무언가를 준비했습니다. 외에 조건 비공개 특별상으로 솔브드 굿즈 샵이나 일페 표준 라이브러리 부스 등에서 구한 키링, 아레나 파티에서 받은 스티커 등을 주기로 했습니다.
    • 위에 적은 기업들에 대한 홍보가 아님을 밝힙니다. 요즘은 이런 거 확실히 해야 되잖아요?

      7월 말: 문제 세팅과 검수진 선발

  • 검수진 모집을 시작하는 동시에 문제 세팅을 시작했습니다.
  • 출제되지 않는 3문제는 이 기간 내에 아이디어를 만들고 세팅해 오라고 시켰습니다.
  • 저는 D, F, H를 내고 B 또한 세팅했습니다, H-D-F 순으로 세팅을 끝냈고, 그 이후 B 출제자가 도움을 요청해 B를 세팅했습니다.
  • Y를 말 못할 이유로 내지 못하게 되었고, 문제은행의 E를 가져와서 교체했습니다. Y는 나중에 송년대회나 정과세컵으로 만나보실 수 있을 듯합니다.
    • E는, 그냥 어쩌다가 ehlee0815와 gs22123(과 제)가 만들어낸 문제입니다. ehlee0815가 문제를 만들어놓고 쩔쩔매고 있었는데, 제가 볼 때는 대충 볼록껍질을 여러 층으로 쌓고 이것들 사이를 층층별로 이으면 최적이 되는 것으로 보였습니다. 기하의 신 gs22123이 그건 선형로그로 쉽게 가능하다고 알려줬고, 그래서 ehlee0815가 답을 계산해보았는데 항상 점의 개수에 따라 일정한 값이 나오는 겁니다! 그래서 문제은행에서 ‘개쩌는 문제’라는 가제로 불렸던 문제입니다.
    • 원래 E는 송년으로 보내려 했는데, 그냥 바로 여기로 가져왔습니다.
  • 나머지 문제인 G, I, J가 준비되어 10문제가 되었습니다. 이중 I가 없어지고 J가 I가 되어 9문제가 되는데, 이에 대한 이야기도 아래에 해보겠습니다.
  • 이때쯤 조합론/알고리즘 여름학교를 듣기 위해 카이스트로 갔습니다. 검수진 선발 이메일은 카이스트 기숙사에서 작성했던 것 같습니다. 참 바쁘게도 살았네요…
  • 검수진에 신청해주셨던 건 18분이었던 것으로 기억합니다. 많은 관심을 보여 주셔서 무려 경쟁률이 2:1을 넘었습니다. 많은 관심을 주셔서 정말 감사하다는 말밖에 못 하겠습니다. :blobbowing:
  • 검수진 선발 기준은, 그냥 레이팅이 높거나 고수인 것이 웰논이거나 아는 사람 위주로 선발했습니다. (모셔놓고 보니 모두 경곽이었던 점은 굳이 의도한 내용은 아니였음을 밝힙니다?)
  • 세팅이 늦어져서 제시간에 검수진을 초대하지 못했습니다. 역시 G, I, J가 세팅이 가장 늦게 끝났습니다.

    8월 #1 - 문제 검수 이야기

  • D번은 골드라고 생각해서 냈는데, 검수 과정에서 플레를 받았습니다. 그래서 gs22123이랑 합의해서 C에서 제거 쿼리를 삭제해 난이도를 플레에서 골드로 낮추고, 문제 순서를 바꾸기로 했습니다.
  • F번은 원래 질의당 필수 강의의 개수가 100개 이하였습니다. 검수 과정에서 필수 강의 개수의 총합에 바운드를 주는 것으로 바꾸었습니다.
  • H번은 준비하기 정말 힘들었던 것 같습니다.
    • 일단 제가 짠 정해에 오류가 매우 많았고, lisifu님이 각종 오류 포인트를 짚어주셨습니다. 이걸 수정하느라 정해를 여러 번 수정했습니다.
    • 답의 역수가 십억칠의 배수가 안 되는 경우가 없다고 생각했는데 있었습니다, 그래서 그런 경우가 주어지지 않는다고 내용을 추가했습니다. 제너레이터는 랜덤으로 짰지만 다행히도 그런 경우가 나올 확률이 매우 적어서 밸리데이터에서 걸리는 일은 없었습니다.
    • mod 없이 int128으로 계산했을 때 터지는 것이 맞았고, 그래서 biginteger를 사용하는 경우를 터뜨리는 케이스와 이걸 int128으로 대체했을 때 틀리는 케이스를 추가하기 위해 많이 고생했습니다. 제너레이터를 20가지 정도 구현했던 것 같고, 테케도 150개 정도 만들었습니다.
    • 이러니까 검수 과정에서 배우는 것이 많습니다. lisifu님이 없었다면 이 문제는 아마 죽었을 겁니다. 정말 감사하다고밖에 드릴 말씀이 없네요.
  • lighton이 출제한 I번은 대회 1주일 전에 거의 동일한 문제가 있음이 발견되었습니다. 골드 문제를 하나 더 추가할까 싶었는데, 그럴 여력도 시간도 필요도 없을 것 같아 9제셋으로 진행하기로 했습니다. 기존의 J번이었던 ehlee0815의 문제가 I번이 되었습니다.
  • 출제자 의도 난이도순은 처음에 A-B-D-C-E-H-F-G-I-J 이었고, 여기서 I가 삭제되고 C가 골드가 되면서 A-B-C-D-E-H-F-G-I가 되었고, H가 검수를 받으며 P2에서 D5로 뛰어 지금의 ABCDEFGHI가 되었습니다.
  • 그렇게 해서 문제 준비가 끝났답니다.

    8월 #2 - 돈을 쓰는 이야기

  • 돈을 쓰는 것을 준비하다 보면 정말 여러 가지 복합적인 문제가 생깁니다.

    풍선

  • 작년 송년대회에서는 풍선 스탠드에 일반 고무풍선을 꽂아 주었고, 올해도 똑같이 했습니다.
  • 헬륨풍선과 달리, 일반풍선은 색깔별로 소량씩 구매할 수 있는 옵션이 없습니다. 12개 정도의 랜덤 색상이 들어있는 풍선을 100개 구매하는 등의 옵션을 택해야 합니다. 송년대회 같이 어려운 난이도의 대회에서는 상관이 없지만, 반년대회는 개인전이고 난이도 정렬에다가 가장 쉬운 3문제가 브론즈, 실버, 골드라서 이 문제들에는 50개 정도의 풍선이 필요합니다.
  • 제가 선택한 솔루션은 다음과 같습니다:
  • 10색 랜덤 말고도, 2~4색 랜덤 100개를 파는 옵션을 제공하는 풍선 판매처들을 찾을 수 있습니다. 저는 파티팡에서 10색 랜덤 100개입 하나와 4색 랜덤 100개입 하나를 주문했습니다.
  • 그러면 중복하는 색을 고려하면 8~30개 정도로 12~13개 색상이 나오는데, 보라색+자주색 같이 비슷한 계열의 색들을 합치고 그렇게 해서 7~8개 정도의 color scheme을 문제별로 정했습니다.
    • (어짜피 I번은 대회 시간에 풀리지 않을 것이라 생각했고, 실제로 H와 I는 0솔브, G는 1솔브가 나왔습니다.)
  • 그리고, 흰색이나 아이보리색 같이 덜 예쁜 색의 풍선은 예비로 두었다가 색깔이 떨어질 때 주기로 했습니다.
  • 이렇게 해서 어떻게든 해결했습니다.
  • 풍선 스탠드는 로나파티라는 곳의 7개 거치 제품을 개당 3000원 미만으로 40개 정도 구매했습니다. 작년에 구매한 30개 정도를 사용할 생각이었지만 작년 스탠드가 어디 있는지 몰라서 그러지는 못했고, 그래서 2인당 1개의 스탠드를 쓰기로 했습니다.

    순위상과 특별상

  • 저는 사실 전자제품을 잘 모릅니다. 키보드는 ehlee0815에게, 헤드폰은 ehlee0815와 lighton에게 자문을 구하기로 했고, 둘 다 빠꾸먹었습니다.
  • 키보드로는, 5만원 정도를 더 써서라도 레오폴드 FC750RBT 제품을 구하기로 했습니다. 이유는 그냥 그게 그만큼 좋다고 ehlee0815가 그랬기 때문입니다.
  • 헤드폰은, 소니 제품으로 변경했습니다. 어차피 음악감상을 위해 쓸 생각이면 어쩌구저쩌구 해서 설명을 들었고, 아무튼 두세 개 정도를 제가 다시 찾은 다음에 컨펌을 받아서 결정했습니다.
  • 커스텀 장패드는, 배송이 빠르고 비싸지 않는 곳이면 된다고 생각했습니다. 그렇게 찾은 곳이 낭만인쇄소라는 곳이었고, 8..15등 상품 8개와 운영진/검수진 희망자 8명을 위해 구하기로 했습니다. 개당 14000원에 구했습니다.
    • 시안만 보내드리면 빠르게 작업해서 보내주십니다.
  • gs22123이 매우 깔쌈하게 배경 디자인을 뽑아주었고, 이걸 그대로 하나 주문해 보았습니다. 예상한 대로 디자인이 나왔고, 나머지 15개와 여분 하나를 주문했습니다.
  • 특별상은, 얘기를 나누다가 ‘순위상 받는 애들 빼고 주는 게 좋지 않겠느냐’ 하는 결론이 나왔고, 그럼 퍼솔상을 받는 인원이 얼마 없을 것 같아 퍼솔상 규모를 확 줄였습니다. 대신 ‘하프타임 퍼솔’(2시간째 기준으로 1, 2, 3등) 이나 ‘퍼퍼솔’ 같은 상만 주기로 했습니다. 물론 기존에 정해둔 조건 비공개 특별상은 그대로 두었습니다. 그렇게 하니까 10개 정도 나오더라고요.
    • 와중에, 퍼솔상 안 주기는 아쉬워서 스티커 한 장씩 줬습니다.
  • 원래는 10만원 정도를 투자해 오픈 대회에 빅맥 세트 같은 것 15개를 푼 문제 개수 비례 랜덤으로 뿌리기로 했습니다. 근데 운영진들이 받아가는 게 너무 없는 게 아니냐고 다른 운영진들이 항의(?)했고, 그래서 비례랜덤을 없애고라도 운영진을 위한 장패드를 주문하는 것으로 했습니다.
    • 근데 결론적으로 돈은 예산보다 15만원 정도 넘어갔고, 그래서 운영진들은 다 마이너스입니다. ㅋㅋ~

      8월 #3 - 운영하는 이야기

  • 방학이 끝나기 1주일 전부터 참가 신청을 받았습니다. 참가자에게 팀명을 직접 쓸 수 있게 했습니다.
    • 팀명을 하나하나 읽어보며, 내부적이고 부정적인 은어가 사용되는지 확인해야 합니다. 저희는 실제로 그 과정에서 팀명 하나를 걸렀습니다.
    • 그 외로는, 생각보다 이상한 팀명 작성이 자유롭습니다. 50글자라는 리밋이 되게 크기도 하고, 일부 시스템에서 깨지는 문자도 다 들어갑니다.
  • 그때쯤 시프트님께 배경/뱃지 신청 메일을 발송했습니다.
    • 배경은 그냥 정해진 해상도의 png 파일과 원본 svg 파일을 그대로 보내면 올려주십니다.
    • 뱃지는 시안을 보내는 쪽이 펀하긴 한데, 만약 예전 뱃지랑 디자인이 비슷하다면 그냥 그거 베이스로 변경점만 설명하는 게 더 쉬울 수도 있겠습니다.
    • 싶트님은 매우 빠르게 답장해주십니다.
  • 피자는 대회 2일 전에 전화했습니다. 이를 위해 전날에 모든 참가자들에게 피자 설문을 받았습니다. 의외로 페퍼로니를 좋아하는 인원이 많았습니다.
    • 40판에 이틀 전 주문은 충분한 것 같긴 합니다. 더 일찍 하는 게 더 좋으려나요?
  • 피자집에 ‘내일모레에 피자 39판 정도를 주문하려고 하는데요오…’ 하고 전화를 했는데 참 내가 뭐하고 있나 싶었던 것 같습니다. 하지만 맛있었죠?
  • 풍선을 달아주기 위해서 자리를 직접 정했습니다. 피자가 2인 1판이므로 같은 피자를 먹는 둘끼리 붙여서 앉혔습니다. 그 외에는 그냥 제 맘대로 앉혔습니다.

    대회 당일 이야기

  • 아침에 일어나서 스탠드 조립부터 했습니다. 스탠드 40개는 생각보다 조립하는 데 오래 걸립니다.
  • 근데 오전 중에 39기 선배들 flappybird, jk410, mjhmjh1104가 놀러 왔고, 스탠드를 같이 조립해줬습니다. 한 1시간 반 정도 걸린 것 같습니다. 나쁜 40기 새1기들은 공강 없다고 튀었습니다. 오후에는 puppy도 와서 같이 도와주었습니다.
  • 대회장을 준비하는 과정에서 책상을 빼고 모든 인원의 자리에 로그인 정보 꼬리표를 놓아주었습니다. 근데 이렇게 하니까 막 없어지더라고요? 그냥 회장으로 들어올 때 집어갈 수 있도록 하는 편이 더 좋은 것 같습니다.
  • 피자 2인 1판은 생각보다 너무 많았습니다. 다음에는 3인 1판으로 사야겠습니다.
  • 콜라를 주문하면서 종이컵은 달라고 안 했습니다. 경곽에서는 종이컵은 생각보다 구하기 어려우니, 미리미리 준비합시다.
  • 초반 문제 풍선들은 미리 불어서 구석에 짱박아두기로 했습니다. 중간중간에 터지기도 하고 해서, 풍선은 넉넉하게 준비하는 편이 좋습니다.
  • 그거 아셨나요? 대회 질문 디스코드 웹훅은 개최자만 설정할 수 있습니다. 미리미리 등록합시다.

    대회 진행 이야기

  • 대회 초반에는 솔브가 나오는 속도가 풍선을 달아줄 수 있는 속도보다 빠릅니다. 한 명 정도만 문제 질문이나 관리를 담당하고 나머지 모든 운영진이 풍선만 달아야 합니다.
  • A번은 1분 안쪽으로 퍼솔이 나왔고, B는 7분, C는 11분 정도 걸렸습니다. 이렇게 3개는 참가자 절반 정도가 해결할 수 있는 문제라 예상했고, 실제로 그 정도 나왔습니다.
  • 구현이 쉽지 않은 D는 예상보다 빠른 34분째에 풀렸습니다. E는 발상은 조금 어렵지만 구현은 컨헐만 잘 짜면 되기 때문에 56분째에 풀렸습니다. 1시간 만에 5문제가 풀리는 것을 볼 수 있었습니다. 그리고 F도 75분째에 풀렸습니다. 생각보다 문제를 잘 풀어줘서 좋았습니다.
  • G는 거의 3시간째에 풀렸습니다. 3시간이 프리즈였는데 아마 G가 풀리기 전에 프리즈된 것으로 기억합니다. H, I는 예상대로 풀리지 않았습니다. H는 수학 잘하는 애들이 풀어볼 만하다 생각했는데 제출조차 20번 안쪽으로 나왔습니다.
  • 그럼에도 이 정도면 꽤 많이 풀렸다고 생각합니다. 좋네요.
  • 슥보 까고 상 주는데는 20분 정도 걸렸습니다. 그렇게 오래는 안 걸린 것 같네요..?

    오픈 이야기

  • 오픈에서는 B에 비해 C가 굉장히 많이 풀렸습니다. B가 그렇게 벽이 높은 문제였나요…
  • 오픈은 좌셋이었습니다. 사실 H랑 I 모두 풀릴만한 문제기는 했습니다만, 올솔이 없었던 걸 보면 그래도 셋이 괜찮았구나 싶습니다. 무려 8솔조차도 나오지도 않았습니다!
  • 뱃지 1솔, 배경 3솔으로 한 이유는 그만큼 B가 쉽다고 생각했기 때문입니다, 근데 생각보다 B 솔브수가 정말 적어서 사실 당황하긴 했습니다.

    후기

  • 진짜로 반년 내내 준비해서 대회가 열렸네요, 재미있었습니다!
  • 물론 고생을 많이 하긴 했습니다. 기업이랑 계약서도 써보고 애들 재촉도 해보고 이메일도 20개씩 써보고 피자에 50만원도 태워보고 돈 관리도 해보고 참 이상한 경험을 해본 것 같습니다.
  • 함께 (아마도) 가장 많이 노력해준 gs22123, 기장이라고 일 막 시켰지만 꼬박꼬박 다 해준 denniskim, 신기한 아이디어 많이 내준 ehlee0815, 검수도 해주고 풍선 정말 열심히 준비해준 junwoojune과 iccodly, I번 문제는 날렸지만 슥보 재미있게 까준 lighton, 1학년인데도 콜포테에 깔쌈한 문제 내준 carinae와 무급임에도 검수 열심히 해주고 운영까지 도와준 dkim110807, 놀러왔다가 어쩌다가 스탠드 조립하고 풍선 달아주고 일만 하다 가신 4명의 검수진 flappybird, jk410, mjhmjh1104, puppy, H번 문제를 재창조해주신 lisifu, 생각지도 못한 다양한 관점의 의견을 내주신 ibm2006, 그리고 모든 문제를 정말 열심히 봐주신 kdh9949, lky7674님까지 정말정말 감사하고 수고하셨습니다 사랑해요.
  • 그리고 대회에 참가해주신 69명의 재학생과 오픈 참가자 239분께도 문제 재밌게 풀어주셔서 감사드립니다.
  • 제가 출제/세팅한 문제만 빼고 제출해준 본대회의 누구에게는 조금만 감사합니다.
This post is licensed under CC BY 4.0 by the author.