본문 바로가기

대회 리뷰/BOJ

제2회 고려대학교 MatKor Cup: 2023 Winter Open Contest

 

제 2회 고려대학교 MatKor Cup : 2023 Winter Open Contest

 

www.acmicpc.net

A - 몇개고?

단순 수학

00:01 AC

 

B - 선형 회귀는 너무 쉬워 1

수학

00:07 AC

 

D - 맨해튼에서의 모임

중앙값 찾기

00:16 AC

 

E - 디지털 XOR

상당히 귀찮은 문제였다.

가능한 조합을 모두 찾아 봐야 하는데 직접 손으로 찾기는 어렵다.

이를 위하여 분석용 프로그램을 별도로 작성하였고 다음과 같은 결과를 얻었다.

  • 피연산자의 개수는 3개 혹은 4개이다.
  • 피연산자의 개수가 3개인 경우에는 동일한 숫자를 3번 사용하면 된다.
  • 예외적으로 8은 {5, 6, 9}로, 9는 {5, 6, 8}로 조합한다.
  • 피연산자의 개수가 4개인 경우에는 각 숫자마다 최적이 되는 조합이 존재한다.
  • 예외적으로 4와 7은 만들 수 없다.

구체적인 조합 방법은 생략한다.

N에 4 또는 7이 포함된다면 첫 번째 방법만 가능하다.

그렇지 않다면 두 방법을 모두 시도해본 후 최적의 조합을 출력하면 된다.

01:26 AC

 

C - 카탈란 마스터의 선분 그리기 게임

문제를 잘못 이해해서 많이 헤맸다.

원 위에 점을 찍는다는 표현부터 이해가 되지 않았다.

찍는 위치에 따라 결과가 달라지는데 어떻게 풀라는 것인지 이해할 수가 없었다.

알고 보니 원의 둘레 위에 찍는다는 뜻이라는데 지문이 모호해보인다.

 

선분을 그릴 때 이미 그려져 있는 다른 선분과 원 내부에서 교차하면 안 된다는 조건이 있다.

나는 이를 잘못 이해해서 한 번 사용한 점은 다시 사용할 수 없다고 이해하였다.

이렇게 이해하면 13034번과 동일한 조건이 되어 어려운 문제가 된다.

00:18 WA    00:44 WA    01:37 WA    01:46 WA

 

실제로는 한 점을 끝점으로 하는 선분을 여러 개 그릴 수 있다.

따라서 이 문제는 N각형을 (N - 2)개의 삼각형으로 분할하는 문제로 변형할 수 있다.

2 이상의 N에 대하여 그리는 방법과 관계 없이 선분의 개수는 (2N - 3)개로 항상 홀수가 된다.

따라서 N이 2 이상인 경우 답은 0 1이며 그렇지 않으면 답은 1 0이 된다.

02:21 AC

 

I - 계란을 떨어뜨리면?

어려워 보이지만 값을 여러 개 구해보면 공식이 보인다.

03:00 TLE

nCr을 상수 시간에 구할 수 있도록 전처리가 필요하다.

03:10 AC

 

J - 계란으로 돈을 벌면?

이전 문제에서 얻은 공식을 잘 정리하면 된다.

03:39 AC

 

G - 섯섯시싀 저주

Euler line이라는 사전 지식으로 약간 복잡한 공식을 도출할 수 있다.

빠른 계산을 위해서는 식을 적절히 정리하여 단순하게 만들어야 한다.

추가적으로 실수 오차를 방지하기 위하여 long double 타입까지 사용해야 한다.

04:53 AC

 

F - 헌내기 현철 (not solved)

Euler's theorem을 이용하여 풀이할 수 있다.

임의의 양의 정수 A와 k에 대하여 A^k ≡ A^(k + 10^k) (mod 10^k) 이 성립함을 보일 수 있다.

A^φ(M) ≡ A^2φ(M) (mod M) 이 성립함을 이용하여 풀이할 수도 있다.

 

H - 오락 고? (not solved)

N자리 이하 수에서 0이 아닌 숫자 K는 (N * 10^(N - 1))번 등장한다.

먼저 위의 공식을 이용하여 정답의 자리수를 결정한다.

이후에도 위의 공식을 이용하여 각 자리마다 차례대로 숫자를 결정해주면 된다.

 

K - 동우의 마음씨는 착할까 나쁠까 (not solved)

집을 도로 위에 건설할 수 있다는 낚시 조건이 문제를 어렵게 보이게 만든다.

실제로는 마을에 건설하는 것이 항상 최적이다.

단순히 dfs를 돌리면 된다.

 

L - Fuzzing Mutant Test (not solved)

복잡한 수식 정리

 

M - DAGame (not solved)

Sprague-Grundy theorem

각 색깔별로 게임판을 분할하는 것이 핵심이다.

 

N - 페르마의 마지막 정리 (not solved)

Pass

 

O - 창호의 유학 준비 (not solved)

Pass

 

P - 재우의 F를 막아라 (not solved)

Pass

 

'대회 리뷰 > BOJ' 카테고리의 다른 글

2023 KSA Automata Winter Contest  (0) 2023.02.23
2022 고려대학교 프로그래밍 경시대회 (KCPC mini) Open Contest  (0) 2023.02.22
제1회 보라매컵 본선 Open Contest  (0) 2023.02.13
Hello, BOJ 2023!  (2) 2023.02.08
보드게임컵  (0) 2023.02.05