본문 바로가기

대회 리뷰/BOJ

2023 UNIST-DGIST-POSTECH 연합 프로그래밍 경진대회 (2023 UDPC) Open Contest

 

2023 UNIST-DGIST-POSTECH 연합 프로그래밍 경진대회 (2023 UDPC) Open Contest

 

www.acmicpc.net

A - 탁구 경기

단순 구현

00:01 AC

 

B - UDPC 파티

U와 C의 빈도의 합을 x, D와 P의 빈도의 합을 y라고 하자.

먼저 C가 등장하지 않았고 D와 P가 균등하게 등장하였다고 가정하자.

이 경우 x > (y + 1) / 2를 만족하면 윤이가 선정될 수 있으므로 "U"를 출력하면 된다.

다음으로 U가 등장하지 않았다고 가정하자.

이 경우 y > 0을 만족하면 달구 또는 포닉스가 선정될 수 있으므로 "DP"를 출력하면 된다.

"C"를 출력하는 경우는 존재하지 않는다.

00:08 AC

 

C - 카드 뒤집기

양 끝에서 시작하여 번갈아가며 뒤집으면 된다.

N번 카드는 마지막에 뒤집어야 한다.

00:15 AC

 

E - 현대모비스 입사 프로젝트

정렬 3번

00:19 AC

 

F - 햄버거최대 몇개드실수있나요?

누적 합

00:24 AC

 

H - 인덕션

다음과 같은 점화식을 세울 수 있다.

dp[i][j][k][l] = i번 음식까지 요리하였을 때 x번 공간의 온도가 {j, k, l}[x]가 되도록 버튼을 누르는 최소 횟수

00:39 AC

 

G - 윤이는 엄청난 것을 훔쳐갔습니다

윤이가 임의의 리프 노드로 경찰보다 빨리 이동할 수 있다면 탈출이 가능하다.

엄밀한 증명은 약간의 난이도가 있다.

00:47 AC

 

D - 동전 퍼즐

지문 중 다음 문장이 전혀 이해가 되지 않아서 엄청 늦게 풀었다.

  • 새로운 모양이 만들어지는 위치는 어디든 상관없지만, 회전된 모양이나 대칭된 모양을 만드는 것은 인정되지 않는다.

지금 보면 모호한 부분이 없는데 평소에 독서를 안해서 그런가... 질문 올리려다가 겨우 이해하였다.

 

아무튼 4중 for 문으로 해결할 수 있다.

00:57 WA

동전이 없는 케이스도 고려해야 한다.

00:59 AC

 

I - Quartet

임의의 두 간선은 아무 제약 없이 선택할 수 있다.

따라서 가중치가 가장 큰 간선을 선택하면 된다.

세 개의 간선을 선택하는 경우에는 정점이 일자로 이어져야 하며 사이클이 생성되지 않아야 한다.

이번에는 가운데 간선 e = {w, u, v}를 고정하고 G[u]와 G[v]에서 가중치가 가장 큰 간선을 선택하면 된다.

이때 또 다시 e를 선택하거나 사이클이 생성되지 않도록 해야 한다.

01:21 AC

 

J - 벚꽃 엔딩

정해는 two pointer인데 대회 전날 밤에 금광 seg를 살짝 공부하고 잤다.

바로 구글링해서 슥삭하였다.

01:48 AC

 

two pointer 풀이의 경우 max(S) <= min(E)를 만족하도록 S와 E를 multiset으로 관리해주면 된다.

max(S)일부터 min(E)일까지 벚나무가 일렬로 피는 것이다.

날의 개수를 셀 때 중복해서 세지 않도록 주의해야 한다.