본문 바로가기

codeforce/#614 (Div.2)

(4)
Codeforces Round #614 (Div.2 ) D. Aroma's Search data는 각 노드 위에 존재하고, 노드의 위치는 (a_x * x_i-1 + bx, a_y * y_i-1 + b_y)로 주어진다. 노드의 위치가 최소 ax, ay 만큼의 배수로 커지는데, ax와 ay가 2 이상이므로 Aroma가 i번째 노드에서 i+1번째 노드로 이동하는 시간으로 i번째 노드에서 0번째 노드를 모두 가는 것이 가능하다. 따라서 시간이 불충분하고, i + 1번째 노드가 가깝게 있지 않는한 위쪽 노드는 방문하는 것은 힘든 일이다. 1) i + 1 노드가 가깝지 않을 때 가장 가까운 노드를 방문하여 아래로 쭉 내려가서 위로다시 올라오며 데이터를 모은다. 2) i + 1 노드가 가까운 경우 i + 1 노드를 먼저 방문하고 0번째 노드 방향으로 진행하여 데이터를 모은다. #include using..
Codeforces Round #614 (Div.2 ) C. NEKO's Maze Game 미로 찾기 문제입니다. (1,1)에서 시작하여 (2,n)으로 갈 수 있으면 Yes, 없으면 No를 출력합니다. 용암이 있는 길을 갈 수 없으며, 용암은 인풋으로 주어집니다. 용암은 토글 형식이고 같은 좌표가 2번 들어오면 용암을 없어집니다. 처음에는 DFS로 문제를 풀어봤는데, memory가 부족해서 통과하지 못했습니다. 그래서 막힌 길의 개수를 저장하고, 막힌 길의 개수가 0이면 Yes를 출력하도록 코드를 작성했습니다. 예를 들어, (2,3)에 용암이 있을 때 (1,4), (1,3), (1,2) 에 용암이 생긴다면 길이 막히게 됩니다. 1,5 2.5 1,5 2.5 1,4 (후보) 2,4 1,3 (후보) 2,3 (용암) 1,2 (후보) 2,2 1,1 2,1 따라서, 용암이 생길 때 반대편 3군데의 길을 ..
Codeforces Round #614 (Div.2 ) B. JOE is on TV! JOE가 퀴즈 쇼에 나가 최대의 상금을 받는다면, 얼마를 받을 지 출력하는 문제입니다. 라운드의 생존자가 s명, 오답자가 t명일 때 JOE는 t/s 달러 만큼의 돈을 받게 됩니다. 2명일 때는 1/2 + 1/1 = 1.5 입니다. 3명일 때는 2가지 방법이 있습니다. 1) 1명씩 탈락하는 경우 1/3 + 1/2 + 1/1 = 11/6 가 됩니다. 2) 2명이 탈락하는 경우 2/3 + 1/1 = 10/6 이 됩니다. 여기서 우리는 1/3 + 1/2 > 2/3 인 것을 알 수 있고, 각 라운드에 1명씩만 탈락하는 것이 2명 이상 탈락하는 것보다 이득임을 알 수 있습니다. 따라서 정답은 1/1 + 1/2 + ... + 1/n 이 됩니다. #include using namespace std; int main()..
Codeforces round #614 (Div.2 ) A. ConneR and the A.R.C. Markland-N A. ConneR the A.R.C. Markland-N 코너라는 사람이 건물 안에서 가장 가까운 레스토랑을 찾아갈 때 움직이는 층수를 출력하는 문제입니다. 영업을 하지 않는 레스토랑의 층들을 map으로 저장해서, 코너가 있는 층부터 위아래로 탐색을하며 map 안에 해당 층의 값이 없을 경우 영업을 하는 레스토랑을 찾습니다. 이후 위로 가는 것과 아래로 가는 것 중 최소값을 찾아 출력합니다. #include #include using namespace std; int main (){ int numInput; cin >> numInput ; for (int i = 0; i> num..