PS/후기

[대회] ICPC 2021 서울 인터넷 예선 후기

dong_gas 2021. 11. 5. 05:05

지난 10월 9일 학회 랩실에서 ICPC 2021 서울 인터넷 예선에 참가하였다. 잘 본 것도 아니라 딱히 쓸 생각이 없었는데, 내년 대회에도 참가할 예정이라 내년에 이 글을 보면서 올해와 비교해서 얼마나 성장했는지 보면 좋을 것 같아서 늦게나마 남겨본다. 사실 그냥 새벽에 삘타서 폭풍업로드 중이다.

 

결과는 2솔로 154등! 초라하다...ㅎㅎ

 

이번 대회도 지난 여름 SUAPC 팀원들과 나갔다. 셋 다 욕심은 없었고, 그냥 좋은 경험 하자는 취지로 대회에 나갔다. 그렇기 때문에 연습을 많이 하지는 않았고, 저번 SUAPC때와 비슷하게 연습셋을 온라인으로 한 두번 풀어보고 대회에 나갔다. 아 그리고, 이 날 팀원들을 처음봐서 조금 어색했다 ㅋㅋ 그래도 문제 풀면서 어색함은 사라졌다.

팀 이름은 'HyeoPlCoSil'은 '협곡에서는 플래티넘인 내가 코딩실력은 실버?!'의 줄임말 '협플코실'을 영어로 쓴 것이다.

 


I. Sport Climbing Combined

 

23246번: Sport Climbing Combined

입력은 표준입력을 사용한다. 첫째 줄에 선수의 명수를 나타내는 양의 정수 $n$ ($3 \le n \le 100$)이 주어진다. 이어 $n$개의 줄 각각에 네 정수 $b_i$, $p_i$, $q_i$, $r_i$가 주어지는데, $b_i$는 $i$번째 선수

www.acmicpc.net

사실 이 문제가 제일 쉬운데 엄청 엄청 엄청 오래걸렸다 ㅋㅋㅋㅋㅋ ㅠㅠㅠㅠㅠㅠ

일단 시작하자마자 다른 팀원이 이 문제를 읽었고 매우 쉽다고 바로 구현을 하겠다고 했던 문제이다. 조금 구현을 해보더니.... 믿기지 않겠지만 c++이 오랜만이라 정렬을 어떻게 하는지 까먹었다고 해서 나에게 정렬을 부탁했다. 정렬을 하고 답을 세 자리로 출력해야한다고 나에게 알려주었다. 예를 들어 답이 11, 123, 301이면 011 123 301을 출력해야 한다고 알려준 것이다. (문제에는 이런 내용이 없다.....ㅋㅋㅋㅋㅋㅋ) 그래서 출력형식을 신경써서 코드를 완성하였다. 그런데 이때 아래에서 말하겠지만 비쥬얼 스튜디오 설정 문제로 한 15분을 날려먹었다... 어찌저찌 실행을 하고 예제가 맞게 나오는 것을 확인하고 제출을 했는데 WA를 받았다. 나는 문제를 읽지 않았었고 팀원의 설명만 들어서 당연히 내 코드의 정렬 부분이나 출력 형식 부분에서 틀린 줄 알고 열심히 틀린 부분을 찾는데 진짜 틀린 부분이 없는 것 같았다..... 그래서 한 30분이 지난 시점에 내가 다시 문제를 읽었는데, 아무리 봐도 답을 무조건 3자리수로 출력해야한다는 내용은 없는 것을 발견하고 바로 고쳐서 맞았다 ㅋㅋㅋㅋ AC!

 

J. Ten

 

23247번: Ten

Your program is to read from standard input. The input starts with two positive integers $m$ and $n$ ($1 \le m, n \le 300$), denoting the dimensions of the land, which are given separated by a space. Each of the following $m$ lines contains $n$ positive in

www.acmicpc.net

I번을 풀고 스코어보드를 보니 J가 많이 풀려있어서 내가 J를 읽었다. 예제를 보면서 생각해보니 각 칸의 값이 10보다 작은 것을 이용하면 완전 탐색으로 풀 수 있을 것 같았다. 그렇게 구현을 하고 제출했는데 WA을 받았다. 풀이는 맞다고 생각하여 코드를 출력하여 열심히 살펴보았고, 함수 내에서 반복문 범위를 실수한 것을 겨우 발견하였다. 실수를 고쳐서 냈고 AC를 받았다.

 

이 문제의 풀이는 블로그에 올려두었다. >> [백준] 23247 Ten (C++)


여기까지 풀고 한 문제 정도 더 풀 수 있는 시간이 있었다. B번 당근 밭 문제와 E번 히스토그램 문제가 많이 풀려있어서 시도했다. B번은 그저 구현 문제였는데, 구현할 자신이 없었고 매우 어려울 것 같다고 생각했다. E번은 고등학교 확통 시간에 배운 분산 식을 이용해서 풀려고 시도했는데 잘 되지 않았다. 그렇게 대회가 끝났다.


소감

이번 대회는 끝나고 내 자신에게 조금 실망을 한 대회인 것 같다. 뭐 실력이야 원래 2~3솔 정도할 것이라 예상하고 있었는데, 나의 태도? 마음가짐?이 조금 아쉬웠던 것 같다.

일단 늦잠을 잤다.... 게다가 버스랑 지하철 아다리(?)도 너무너무 안맞아서 대회 3분 전에 겨우 도착했다... 원래 내가 볼 노트도 미리 가서 출력할 예정이었는데, 늦어서 팀원에게 부탁했다.

(늦잠자서 아침도 못먹었는데 다행히 선배가 학교 편의점에서 컵라면과 삼각김밥을 사놓고 대기중이었다. 감사합니다 ㅠㅠ)

 

아무튼 우여곡절 끝에 대회가 시작되고 문제를 풀기 시작하였다. 그리고 나서 코드를 짜고 실행을 시키려는데, 비쥬얼 스튜디오 설정이 내 컴퓨터와 너무너무 달랐다. 나는 ctrl + f5로 실행하면서 풀었었는데, 솔루션과 프로젝트를 새로 만들어서 해봐도 실행이 안되었다.... 진짜 당황했는데, 팀원이 중단점을 이용해서 어찌저찌 실행시킬 수 있게 도와줬다. 대회 내내 나와 다른 방식으로 풀다보니까 되게 불편했다. 다른 팀원도 그것 때문에 너무 불편했다고 했다. 이것 때문에 대회 시간 중 30분은 날린 것 같다... 대회 전에 여유있게 도착해서 미리 설정을 점검하고 이것저것 준비를 해야하는데 나는 그러지 못했다. 아무리 대회에 큰 욕심이 없었다지만 기본적인 준비도 안한 게 조금 아쉽다.

 

그리고 너무너무 쫄았던 것 같다... B번이나 E번 중 하나는 풀만했을 것 같다.

 

이런저런 요인이 겹쳐서 결국 2솔로 대회가 마무리 되었다. 그래도 내가 2문제를 모두 풀어서 기분이 나쁘지만은 않았다.

 

신촌 초급 모의고사, SUAPC, ICPC 인터넷 예선을 치르면서, 대회에서 수상을 하고 싶다는 생각이 점점 커졌다. 그래서 뭐 코드포스도 시작하고 백준도 매일매일 나름 열심히 풀고 있다. 11월 말에 교내 프로그래밍 대회인 SPC가 열린다고 하는데, 그 전에 열심히 준비해서 꼭 수상권에 들고 싶다! 화이팅.

 

다음 후기글은 SPC가 될 것 같다. 기분좋게 쓰면 참 좋을텐데...