본문 바로가기

알고리즘/후기

2024 상반기 전남대학교 PIMM 알고리즘 파티 후기

서막

이번에도 belline0124 가 대회를 개최하자는 의견을 제의하였다. 저번 대회 끝나고 또 열어보자 라는 말이 나왔었기 때문에 이번엔 의심의 여지 없이 받아들였다. 이번 대회는 정말 목표를 크게 잡았었는데 

- 11월~1월 : 문제 출제완료

- 1월~2월 : 문제 검수완료

- 2월~3월 : PIMM파티 개최

라는 계획을 하고 아레나 및 오프라인 개최까지 염려하여 계획적으로 움직였다. 나같은 경우에 갑자기 떨어질줄만 알았던 소프티어 부트캠프가 기가 막히게 일정이 겹쳤다. 그렇기에 최대한 소프티어 최종 플젝 영향안가게 미리미리 준비를 해놨다. 아레나와 같은 경우에는 6주 전에 모든 세팅을 마쳐놔야 했기에 나에게 있어서는 미리 할 수 계기가 되었다.

 

삐걱이는 계획

오프라인대회와 아레나가 무산되었다. 오프라인 대회는 생각만 있었고 크게 움직이지는 않아 아직은 공식대회가 아니고 코스트가 너무 크다고 생각했다. 그리고 아레나는 해볼만하다고 생각했지만 solved.ac 쪽에서 검수할 인력이 부족하다고 죄송하다고 연락을 주셨다. 최근에, 아레나쪽 문제 이슈로 레이팅이 반영 되지 않는 문제들을 보면 출제진, 검수진 그리고 참가자들까지 좋지 않은 경험을 막기 위해 열심히 움직이시는 것 같다.

 

하지만 우리는 계속 간다

최종적으로 문제는 6명이서 10문제를 준비하였고 개최일 전까지 검수진으로부터 정말 많은 피드백을 받았다. 특히나 내 문제 뿐만아니라 모든 문제에서 많은 피드백을 주신 measurezero, vkdldjvkdnj 이 두 분들께 감사하다. 우선, 검수진 분들한테 피드백 받은내용들을 통합해보면 아래와 같다.

  • 지문이 이해가 잘 가는가? (문법, 어휘, 일관된 표현)
  • 풀이가 정당한가?
  • 다른 알고리즘으로 해결이 가능한가? 그리고 해당 풀이를 허용할 것인가?
  • 위와 같은 경우에 이를 저격할 데이터가 존재하는가?
  • 처음, 마지막의 엣지케이스를 사용하는 데이터가 있는가?

당장은 이정도이다. 이 중에서 처음 지문이 이해가 잘 가는가? 에 대한 피드백을 정말 많이 받았다. 일단 이는 이후에 피드백 받은내용들을 통해 조금 보고 가보고자한다.

 

문제 후기

이번에 내가 맡은 문제는 B번, D번이다. B번 같은경우에는 원래 없는 문제였는데 현재의 A -> C의 도약이 너무 크기 때문에 필요하다고 생각되어 내 문제 후보지에서 하나 꺼내왔다. 지금 생각해보면 정말 잘한 선택이다. C는 결과적으로 초반부의 정답률 최악의 구간이 되었기 때문이다. 사람들은 배경 하나 얻기도 힘들었을 것이다.

 

B번 전주 듣고 노래 맞추기

이 문제는 기존에 "스타링크노래맞추기" 였는데 검수진의 피드백과 함께 위와 같이 변경되었다. 이는 스타크래프트 유즈맵 노래 맞추기류에서 생각해낸 문제이다. 풀이 자체는 어렵지 않지만 이 문제의 지문을 구성하는 고생을 했다. "노래를 듣고 3개의 음만 듣고 맞추는 프로그램을 만들어주세요." 를 스토리로써 펴내기 위해서 앞뒤의 흐름을 맞춰야하고 내가 작성한 표현들이 혼동되지않게 정의해야한다. 여기서 표현들을 정의한다 라는것은 다음 문제에서 설명한다.

D번 육각타일미로 탈출기

이 문제의 구상은 여기서 왔다. 롤토체스의 덱 빌더이다.

 

우선 제일 어려웠던 것은 이 육각타일이 서로 접하고 있고 이런 식으로 미로가 구성되어있다를 그림이 아닌 글로 어떻게 표현할 수 있을 까? 였다. 초반부에 정말 많은 수정을 통해서 vkdldjvkdnj님이 https://www.acmicpc.net/problem/23083 문제를 사례로 가져와서 지문이 어느정도 해결이 될 수 있었다. 처음 지문을 작성하고 measurezero님이 작성해주신 피드백을 함께 읽어보자.

 

  1. 타일과 칸이 섞여 사용되고 있습니다. 문제 제목에 타일이 있는 만큼 칸을 타일로 통일하는 것을 추천합니다.
  2. 입력 지문에 처음이자 유일하게 등장하는 가로 길이와 세로 길이: 어느 방향이 가로이고 어느 방향이 세로인지 전혀 언급되어있지 않으며, 상식적으로 주어진 그림을 보고 가로 길이를 N이라고 생각하기도 쉽지 않아 끼워맞추기도 매우 어렵습니다.
  3. 장애물의 위치 Y, X : Y와 X라는 문자가 무엇을 의미하는지 전혀 알 수 없습니다. 장애물의 위치에 대한 어떤 정보를 의미하는 것인지에 대한 설명도 추가해야 합니다. 물론 좌표를 부여하는 규칙 또한 그림에만 의존하지 않고 줄글로도 엄밀하게 정의해야 합니다.
  4. 현재 지문에는 거리가 정의되어있지 않습니다. 무엇을 거리라고 부르는지를 알 수 없으니 최단 경로라는 단어는 사용하면 안 됩니다.
  5. 육각타일끼리 접하지 않은 밖: 일단 밖이라는 단어가 이 표현에서 처음 등장하며 유일하게 등장합니다. 밖이 어디인지도 설명해 준 적이 없으면서 이를 이용해 문제를 이해할 것을 강요하고 있습니다.
  6. 지나야 하는 최소 칸(타일)수: 윤수가 출발하는 타일 및 탈출구가 있는 타일을 지났다고 판단해야하는지 여부를 지문만으로 전혀 알 수 없습니다. 어떤 경우 타일을 지났다고 생각하는지 서술해야 합니다.

숨이 막혔다. 하나하나 틀린 말이 없고 이를 어떻게 표현해야될까 고민해 보게 되었다. 이런 피드백들을 정말 여러번 받아 현재의 지문이 구성되게 되었다.

 

최종장

문제의 대부분이 검수가 끝나고 마지막 대회 전날에 컨벤션을 맞춰보자는 의미로 8시에 검수진분들 출제자분들이 함께 디코에 모였다. belline0124가 1시간이면 되지 않을까 해서 8 ~ 9시 라고 했는데 우린 몰랐다. 이 행군이 새벽 2시까지 가게 될줄은... 그 날 늦은시간까지 6시간동안 고생해주신 검수진분들께 다시한번 감사하다. 물론 출제자 친구들도

 

그리고 다음날 대회가 시작하였고 아무 탈 없이 마무리 되었다! 심지어 질문이 두 개 들어왔는데, 문제 이슈에 대한 질문이 아니라서 다행이었다.

문제 커브 조차도 예상과 크게 다르지 않고 깔끔하게 진행되었다. 다음에는 jh01533 이 친구가 낸 문제는 하나씩 밀어야 된다는 믿음이 생겼다. 저번에도 D번에서 사고 쳐놓고... C번에서 많은 사람들의 앞길을 막았다. 정답률이 이를 보여준다.

당일날 utilforever님께서 후원해주신 회식비로 고기를 먹었다. 이번 후반기에도 이 대회만큼 좋은 퀄리티를 만들어 내고싶다.

 

저희의 부족한 첫 대회에 검수를 해주시고 뒤이어 이번대회에서도 도와주신 검수진 분들께 감사하다. (다음 대회에도..)

kiwiyou, lycoris1600, tony9402, ksoosung77, dohoon

앞서 언급한 분들도 아무튼 감사하다.

 

후기

이번 대회를 통해서는 지문을 더 단단하게 구성하는 방법에 대해서 배웠던 것 같다. 아 그리고 눈치가 빠른 사람도 있겠지만 10문제를 준비하였는데 9문제가 출제 된 이유는 1문제는 검수진 분들께 부적격 판단을 받아서 탈락 했기 때문이다. 기하학 문제였는데, 검수진 분들이 심지어 내 문제보다 철저히 검수해주셨는데 시간 안에 문제점 해결이 안될 것같아 이번 대회에서는 보지 못하였다. 내 문제 뿐만아니라 다른 문제들이 받는 피드백들을 보면서 어떻게 앞으로는 문제를 구성해야되는지 등에 대한 경험을 가질 수 있었다.