본문 바로가기

PS/Competition

ICPC 2021 후기

반응형

Intro.

예선 후기는 https://blog.naver.com/bnb2011/222532023284 팀원 블로그에서 확인할 수 있다.

 

본선 결과가 좋지 않아 쓰지 않으려고 했었지만, 기록은 해두자는 생각에 쓰게 되었다.

 

본선 전에 이래저래 준비를 많이 해왔었다. 예선이 끝나고 중간고사가 있었기 때문에 중간고사 기간동안엔 손을 놓고 있었다. 중간고사 다음주이자 본선 3주 전부터 2018~2020 ICPC 본선 셋을 풀어보자고 했었다.

그 결과는 다음과 같다.

2018

2019

2020

 

2018, 2020셋은 코드포스 GYM에 있었고, 2019는 없어서 BOJ에서 그룹 연습으로 진행하였다.

2019 -> 2020 -> 2018 순서대로 쳤었다.

최소한 4솔, 업솔빙 및 연습 중에 아이디어를 떠올린것만 잘 다듬으면 6~7솔도 할 수 있을 것 같았다.

대충 7솔이 15등(수상) 컷으로 예상했었다.

 

대회 당일 시작하기 전 이래저래 일이 있어 팀원 한 명은 멘탈이 조금 나가있었고, 나는 컨디션 조절이 애매하게 실패하여 피로도가 조금 올라 있었다. 사실 핑계인 것 같고, 어느정도 자만하고 있었던 것 같다.

 

결과는 다음과 같다.

최종스코어 2솔. 순위는 41.

남들 다 푸는 B, C를 풀긴 했지만 그 뒤로 아주 예쁘게 말려서 결과가 좋지는 않았다.

 

Timeline.

점심을 미리 시켜두고 배달 도착 후 대회가 시작되었다.

대회 30분 전(11시 30분)까지 모니토 설정을 완료했었어야하는데 조금 아슬아슬했다.

팀노트는 대회 전전날 저녁에 아는 알고리즘들을 예쁘게 잘 정리해두었다.

다만, 제출한 후 Mo's가 빠졌으나 Mo's를 아는 bnb2011이 따로 공부를 해왔었다.

 

문제를 아무렇게나 프린트하고 아무렇게나 네 문제씩 배정한 후 읽기 시작했다.

10분쯤 되서 B, C가 풀린걸 보고 C를 배정받았던 내가 빠르게 문제를 읽었다.

좌 우로 잘 이동하면 되는 아주 쉬운 문제였으므로, 코드를 짜 제출하였고 AC를 받았다.

 

[00:19] C (Accepted)

 

마찬가지로 B가 풀린걸 보고 B를 받았던 sean617이 읽고 바로 코드를 작성했다. 제출 후 AC.

 

[00:38] B (Accepted)

 

이 다음부터는 타임라인 확인이 안되어, 생각나는대로 써 보려고 한다.

 

나와 bnb2011이 서로 다른 D 솔루션을 생각했었고, 먼저 bnb2011이 풀게 되었다.

조금 지나 잘 안된다고 하여 내가 D를 잡았다.

뭔가 예제가 잘 나와서 제출했더니 WA.

bnb2011이 짜준 테스트 케이스에서 오류가 났고 해결 방법을 찾아서 다시 제출했으나 WA.

조금 더 살펴보니 이상하게 그룹을 짓는 경우가 있었다.

이상한 그룹짓기

아무튼 해결이 되지 않아 D 풀기를 멈추었다.

더 풀리는게 없어서 나머지 문제들에 대해 스케치를 해보았다.

(대강 2시간쯤 지난 시간인데 이때부터 최소한 나는 엄청 말려가고 있었다.)

 

- A :  트리문제인건 보면 알지만 무슨 문제인지 나는 일단 모르고 있다.

- D : 아직 해결이 안된 상황

- E : 문제 이해도 제대로 되지 않았다.

- F : 읽어보지 않았다.

- G : 리프에 대해서 무조건 커버가 되어야하므로 dfs를 돌면서 리프에서 k를 반환한다. 각 노드는 반환된 자식들 값 중 가장 작은 것 기준으로 1씩 줄여가며 0이 되었을 때 카운트(warehouse 인 것) 그리고 2k+1을 반환한다. 그러나 WA. 그 후에 여러 번 제출해보았으나 여전히 WA

- H : 문제를 모른다.

- I : 모서리 기준으로 잘 구간을 나눴을 때 어느 영역에서든 세로나 가로 센서를 설치할 수 있다. 구석을 포함하여 가장 많은 영역을 포함하는 센서를 설치하고 해당 영역을 지우는 것을 반복하면 된다고 생각했으나 풀어보지는 못했다.

- J : 정수론 문제라고 생각했다. 다만, 솔루션이 생각이 나지 않아 naive하게 풀어보려고 시도했었다. 두 버킷에 대해서 연산 시 무조건 사이클이 돌거나 해결이 되거나 라고 생각해서 사이클이 도는 경우 나머지 하나의 버킷에서 물을 퍼오거나 다시 내뱉었다. 해결은 되지 않았다. WA

- K : 보자마자 KMP 변형이구나 싶었다. 근데 failure function을 어떻게 설계할지 감은 안잡혔고 다른 문제를 풀고 있었기에 패스했다. 차라리 이 문제를 잡았으면 더 풀지 않았을까? 라는 생각이 들기도 한다.

- L : 많은 팀이 풀었기에 세 명 다 봤었다. 다만 명확한 솔루션을 내지는 못했다. 케이스가 16개고, 숫자가 다해서 10000개니까 두 노드(정수) 서로 다른지 판별해줄 그래프를 그려서 삼각형(사이클)이 몇 개 있는지 세면 되는 것이라 생각했지만, 어떻게 셀지 감은 안왔기에 포기

 

결국 이상태로 끝까지 갔다.

 

최종 스코어는 앞서 적은듯이 2솔. 페널티가 적긴 했었다.

 

Review

너무 많이 놀았었고, 자만하고 있지 않았나 싶다.

뭔가 풀던 것들이 잘 풀려서 넘어갔다면 말렸던 분위기를 잘 헤쳐나갔을텐데 못풀었던게 아쉽다.

내년엔 UGRP를 해야해서 휴학은 못하지만 지금까지 달려왔던 학점을 조금 줄여서 PS에 시간 배분을 더 해보려고 한다.

 

2019년 말부터 2021년 6월 말까지 거의 1년 반을 넘게 PS를 쉬었다.

2020년 핑계를 대자면 대회를 나가려고 해봤지만, 팀원이 될 사람이 없었다. 이 학교엔 PS 하는사람이 상당히 적었다.

UCPC를 혼자 (참여 안할 팀원 둘과 함께) 나가봤지만, 성과는 없었기에 ICPC는 이 학교에서 불가능할거라 생각했었다.

지금은 팀원들을 잘 찾을 수 있어서 동기부여가 되었고, 늦었지만 올해 7월부터나마 준비를 하기 시작했다.

감도 되찾고 PS에 재미도 붙였고 ICPC 여러 Regional들을 풀어보기도 했었다.

거의 4~5개월 같이 연습하고 고생한 팀원들에게 너무 감사하고, 추후에도 같이 나갈 수 있으면 좋을 것 같다.

 

한번쯤 휴학하고 PS를 제대로 해보고 싶다는 생각을 요즘들어 드문드문 하고 있다.

내년에는 불가능하지만 한동안 고민해보고 내년 말쯤 결정하지 않을까 싶다. 군대 문제도 해결해야되기도 하고.

반응형

'PS > Competition' 카테고리의 다른 글

UCPC 2022 예선 후기  (2) 2022.07.11
진짜 최종 구데기컵 2 2 검수 후기  (2) 2022.04.10
Facebook Hacker Cup 2021 후기  (0) 2021.09.26
SCPC 2021 2차 대회 후기  (0) 2021.08.10
SCPC 2021 1차 예선 후기  (0) 2021.07.18