on
2021 인하대학교 프로그래밍 경진대회 IUPC 후기
2021 인하대학교 프로그래밍 경진대회 IUPC 후기
2021 IUPC 스코어보드
내가 누구?
2021 IUPC 대상 수상자
팀명: 수퍼겁쟁이들의 쉼터
팀원: 39dll, yooshnn, yuja
대회 前
39dll님의 제안을 받아 팀으로 합류했다. 처음으로 팀 대회에 참여하는 것이기에 기대도 됐지만 걱정이 앞섰다. 이 부분은 나보다 경험도 많고 작년 대회에서 좋은 성적을 거뒀던 두 분과 연습하면서 점차 나아졌다.
비대면으로 참여할 수도 있었지만 의사 소통의 편의를 위해 한 곳에 모여서 진행하기로 했다. 조금 일찍 만나 같이 점심을 먹었고, 대회 시작 20분 전에 스터디룸에 도착했다.
대회 中
제일 먼저 B를 읽었다. 보자마자 완탐인 건 알았지만 내가 풀려면 시간이 좀 걸릴 것 같았다. 그래서 우선 C를 잡고 있던 시은 님과 얘기를 나눴다. (A는 이미 AC를 받으셨다.) 각자 선호하는 문제 유형을 고려했을 때, 서로 바꿔서 푸는 게 좋겠다고 결론을 내렸다.
C 아이디어는 금방 떠올랐고, 바로 구현해서 제출했다. 그리고 WA를 받았다. 첫 제출에 WA를 받고 잠깐 멍해졌다. 팀 디코에 내 코드를 공유했고, '입력이 0일 때 출력이 없다'는 피드백을 받았다. 해당 부분 예외처리를 추가하고 다시 제출하여 AC를 받았다.
다음 문제로 D를 골랐다. 우선순위 큐에 적당히 값을 조절한 튜플을 넣으면 되겠다... 생각하면서 문제를 읽던 중, 시은 님도 같은 의견을 제시했다. 바로 동의하고 구현에 나섰다. 중간에 좀 꼬였으나 그래도 한번에 AC를 받았다.
남은 문제를 살펴보던 중, 39dll 님과 시은 님이 F의 풀이를 캐치하고 나에게 설명해줬다. (39dll 님 언급이 적은 건 I AC 이후, 따로 어려운 문제들을 맡았기 때문이다.) 방향이 명확해서 문제될 것이 없을 것이라 생각했는데 여기서 내가 오랜 시간 헤매버렸다. 결국 WA까지 받고 팀원들에게 도움을 요청했다. 팀원들이 제너레이터까지 구현해서 반례를 만들어줬다. AC를 받고 팀원들과 환호했다. 1등을 사실상 확정지었기 때문이다.
F에서 헤맨 것 때문에 남은 시간이 많지 않았다. 팀원들은 K AC 이후 H를 보고 있었다. 나는 가능성 높아보이는 J를 잡았다. 생각보다 점화식을 떠올리는 데 오래 걸리지 않았다. 혹시 안 되는 경우가 있나 이것저것 생각해봤는데 딱히 문제가 발견되지 않았다. 구현이 거의 끝났을 쯤, 시간에 쫓겨서 그랬는지 순간적으로 말도 안 되는 착각을 했다. dp[u][d]를 노드 u에서 거리 d 이하만큼 떨어진 노드의 개수로 정의했을 때, 노드 u 자기 자신만 고려하는 경우는 dp[u][0]인데 이것을 dp[u][1]로 착각했다. 대회 종료 직전이었기 때문에 어쩔 수 없이 그대로 제출했고 WA를 받았다. 문제가 백준에 등록된 이후 이 부분을 수정해서 제출해보니 정답이었다.
F에서 조금이라도 덜 헤맸다면...
J 구현 마지막에 실수하지 않았다면...
어차피 풀기는 힘들 것 같다는 마음가짐으로 J를 읽지 않았다면...
E를 제대로 읽고 2-SAT으로 착각하지 않았다면...
수많은 IF들은 앞으로를 위한 성장의 발판으로 삼아야겠다.
대회 後
대회가 종료되자마자 짐을 챙겨 밖으로 나왔다. 이후 설빙에서 빙수를 먹으면서 문제 풀이와 시상식을 봤다. 스코어보드는 종료 30분 전에 프리징 됐지만, 1등임을 알았기에 마음편히 볼 수 있었다. 모든 행사가 끝나고 저녁도 같이 먹었다. 음식도 맛있었지만, 결과 덕분에 이미 날아갈 것 같은 기분이었다. 토의하면서 문제를 해결하는 과정 또한 정말 재미있었다.
from http://yujaa.tistory.com/8 by ccl(A) rewrite - 2021-10-04 07:01:20