ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 제5회 고려대학교 MatKor Cup : 2024 Summer/Fall (Onsite) 후기
    PS/대회 2024. 9. 17. 00:38

    [대회 전/예비소집]

    https://www.acmicpc.net/board/view/149113

    생각지도 못한 공지가 하나 올라왔었습니다. ps계에서는 귀하다고 할 수 있는 오프라인 대회 공지가 하나 올라온 것인데, 참여할지 말지가 조금 망설여졌습니다. Matkor Cup 대회 자체의 컨셉이 '수학'과 밀접하게 연관되어 있기 때문에, 수학을 그렇게 깊게 파고들어 공부해 본 적이 없는 저에겐 의미 없는 대회가 되진 아닐까 하는 생각이 들었기 때문입니다. 고민이 조금 되었는데, 그래도 참여해보기로 결정했습니다. 대회 컨셉과는 별개로 "오프라인 대회 경험 자체는 큰 의미가 있다"는 생각이 들기도 했고, 고려대도 한 번 구경해보고 싶어서 참가해 보기로 하였습니다.

     

    본대회 전까지 본대회에 맞춰 특별한 연습을 하지는 않았습니다. 본대회 날짜가 대회 신청 날짜와 많이 가까워서 억지로 수학 배경 지식을 욱여넣는 것이 별 소용이 없을 거란 생각이 들었고, 이전에 열렸던 대회들의 골드 이하 문제를 몇 개 풀어보긴 했지만 빡빡하게 업솔빙하지는 않았습니다. 

     

    예비소집 참여를 권장한다고 해서 예비소집 시간에 맞춰 문제들을 풀어보았습니다. 

    A번은 케이스워크가 귀찮아 보여서 바로 B번으로 넘어갔습니다. B번도 어려워서 넘길까 했지만, 그냥 N/M을 기약분수로 만들면 예제 출력이 모두 올바르게 나오길래 검산이나 증명은 따로 하지 않고 바로 냈는데 퍼솔을 따낼 수 있었습니다. C번은 풀태스크 풀이가 떠오르지 않아 서브태스크를 생각해 보았는데, 단순히 M번 정도만 시뮬레이션해 보면 답을 찾아낼 수 있다는 것을 관찰하였고, 그대로 제출하여 20점을 얻을 수 있었습니다. D번은 처음에 단순 구성적 문제로 보고 다양한 방법을 시도해 보았지만, 계속해서 WA만 나왔습니다. 포기할까 하다가 수열을 관찰해 보니 수열의 특성에서 오일러 경로가 떠올랐습니다. 문제는 오일러 경로를 구현한 지 너무 오래되어서 구현이 기억이 하나도 안 난다는 점이었는데.. 고민을 좀 하다가 라이님 블로그에서 구현체를 긁어오기로 하였습니다. 아무래도 이해를 한 상태에서 짠 코드도 아니고, 손에 익지 않는 구현 방식이어서 그런지 서브태스크1의 30점만 얻을 수 있었고, 풀태스크를 맞지는 못하였습니다. 

     

     

     

     

     

     

    [대회 시작]

    (본대회 문제 세트 - https://www.acmicpc.net/contest/view/1324)

    (본대회 스코어보드 - https://www.acmicpc.net/contest/board/1324)

    (오픈 스코어보드 - https://www.acmicpc.net/contest/board/1325)

    A번을 딱 열었는데 이상한 그림이 보이길래 대충 읽고 우선 넘겼습니다. B번도 넘어갈까 했는데, 서브태스크1 상황을 끄적끄적해보니 적분이 딱 떠올랐고, 풀이를 정리해 보기로 했습니다. 그런데 적분 문제를 너무 오랜만에 풀다보니 식을 어떻게 세워야 하는지 감이 잘 안 왔고, 답도 잘 나오지 않아서 다른 문제들을 일단 훑어보고 다시 넘어오기로 했습니다. 

     

    ..전체 문제들 중에서 풀태스크를 맞을 만한 문제가 보이지 않았습니다. 나만 그런가 싶어 스코어보드를 슬쩍 봤는데, 다들 그런 것 같아서 살짝 안심하고 일단 서브태스크를 열심히 긁어보았습니다. 

     

    답이 정해져 있는 A번 1점과 G번 1점, 나이브하게 해결하기 쉬운 K번 6점과 O번 7점을 긁었습니다. 다음으로는 M번이 긁기 쉬워 보여서 M번에 도전하였습니다. 서브태스크1은 B = C = 0이기 때문에, D가 A로 나누어 떨어지는지를 확인해주고 D/A의 약수들을 고민해주면 풀리는 서브태스크였습니다. 중간에 구현 실수들이 좀 있어서 2틀하고 16점을 얻어낼 수 있었습니다. 다음으로는 C번 서브태스크1을 고민해 보았습니다. 현철이가 그리는 t각형과 엉엉이가 그리는 s각형에서 t+s가 홀수이면 현철이가 이길 수 있는 것처럼 보였고, 제대로 증명은 안 했지만 제출하고 보니 11점을 따낼 수 있었습니다.

     

    대회 중반부에서는 M번 삽질로 대부분의 시간을 보냈습니다.. 주어진 부정방정식의 식을 정리하고 보니 (Ax+C)(Ay+B) = BC - AD로 깔끔하게 나와서 M번 풀이에 대한 욕심이 생겼습니다. 서브태스크1에서처럼 BC - AD의 약수로 접근하였고, 예제 출력도 잘 나왔지만 계속해서 WA가 쌓여갔습니다. 코드를 오랫동안 들여다보고 문제가 될 만한 부분들을 많이 고쳐보았는데도 계속해서 "틀렸습니다"를 출력하는 화면을 보고 있자니 초조해져 갔습니다. 2~3시간 동안을 고민해 보았지만 결국 문제를 찾을 수 없었고 아쉽지만 포기해야 했습니다. 지금 보니 서브태스크2에서는 A, B, C, D가 0일 수가 없는데 0인 경우도 고려하느라 시간을 많이 날렸었네요.. ㅠ

     

    대회 시간의 대부분을 날린 이후에는 B번을 다시 한 번 들여다보았습니다. 적분식을 어떻게 해서 억지로 짜냈는데, 이때부터 예제 출력1이 잘 나오기 시작해서 코드를 제출하였고, 19점을 얻어낼 수 있었습니다. 시간이 얼마 안 남았길래 M번을 마지막으로 고민해 보았는데, 결국 대회가 마무리되었습니다.

     

     

     

     

     

     

    [대회 종료]

    대회 종료 이후엔 휴식시간을 조금 가지고 홍보 세션이 진행되었습니다. 현대모비스와 DropStudio에서 진행하였는데, 현대모비스 홍보가 저번 SCSC에서 들은 것과 동일하기도 했고 5시간 동안 대회를 치르니 피곤해서 홍보 내용은 집중해서 듣지 못했던 것 같습니다. 

    61점 / 689

     

    이후에는 스코어보드 오픈 및 시상이 이루어졌습니다. 하나 특별한 점이 있었다면 모두에게 상이 주어져서 빈손으로 돌아가는 참가자가 없었다는 점입니다. 온사이트 참가자가 적기도 했고 문제마다 특별상이 있어서, 꼭 순위상이 아니더라도 특별상 상품을 받아갈 수 있었습니다. 저 또한 21등으로 마무리했지만, 특별상에 당첨되어서 가로세로 낱말퍼즐 책을 받을 수 있었습니다. 

     

    얼마 없는 오프라인 대회를 치를 수 있어서 좋은 경험이었고, 특별상을 타게 된 것도 좋지만, 대회 구성은 좀 의아스럽습니다. 개인전 대회임에도 불구하고 고난이도 16문제셋 구성은, 참가자로서 많이 당황스러운 구성이지 않았나 하는 생각이 들었습니다. 운영진 입장에서는 인터넷 검색이 가능하고 서브태스크 형식임을 고려하였을 때 괜찮다는 쪽이었을까 생각해 보았는데, 저는.. 잘 모르겠네요.. 제 실력이 부족해서 그렇다고 하면 할 말은 없지만.., 개인적으로는 아쉬움이 많이 남는 대회였습니다.

    댓글

Designed by Tistory.