1. 문제 링크 https://www.acmicpc.net/problem/16397 16397번: 탈출 첫 번째 줄에 N (0 ≤ N ≤ 99,999), T (1 ≤ T ≤ 99,999), G (0 ≤ G ≤ 99,999)가 공백 하나를 사이에 두고 주어진다. 각각 N은 LED로 표현된 수, T는 버튼을 누를 수 있는 최대 횟수, G는 탈출을 위해 똑같이 www.acmicpc.net 2. 문제 개요 LED로 된 다섯 자리 십진수 N, 그 옆에 T, G라는 숫자와 두 개의 버튼 A, B가 있다. 1. 버튼 A를 누르면 N이 1 증가한다. 2. 버튼 B를 누르면 N에 2가 곱해진 뒤, 0이 아닌 가장 높은 자릿수의 숫자가 1 줄어든다. 예를 들어 123→146으로, 5→0으로, 3→5로 변한다. 단, N이 ..
1. 문제 링크 https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 2. 문제 개요 N개의 동영상이 있고 동영상간 유사도(USADO) N-1개를 측정했다. 동영상 A, B의 사이의 유사도의 최솟값이 주어진 K보다 크다면 동영상은 추천된다. Q개의 질문에 대해 위의 조건을 만족하는 동영상의 개수를 답하시오. 3. 문제 힌트 동영상 A, B사이의 모든 유사도를 측정해 보아야 한다. A에서 출발해서 이..
1. 문제 링크 www.acmicpc.net/problem/16946 16946번: 벽 부수고 이동하기 4 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 www.acmicpc.net 2. 문제 개요 N x M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 변을 공유할 때, 인접하다고 한다. 각각의 벽에 대해서 다음을 구해보려고 하는데, - 벽을 부수고 이동할 수 있는 곳으로 변경 한다. - 그 위치에서 이동할..
1. 문제 링크 www.acmicpc.net/problem/16933 16933번: 벽 부수고 이동하기 3 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 2. 문제 개요 NxM의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 나는 (1, 1)에서 (N, M)의 위치까지 이동하려고 하는데, 이때 최단 경로로 이동하려 한다. 이번 문제에서는 낮과 밤이 번갈아가면서 등장한다. 처음에 이동할 때는 낮이고, 한 번 이동할 때마다 낮과 밤이 바뀌게..
1. 문제 링크 www.acmicpc.net/problem/5022 5022번: 연결 A1과 A2, 그리고 B1과 B2를 연결하는데 필요한 전선의 길이의 최솟값을 출력한다. 만약, 불가능한 경우에는 "IMPOSSIBLE"을 출력한다. www.acmicpc.net 2. 문제 개요 전기 회로에서 두 점을 전선으로 이을 때, 길이는 짧을수록 좋다. 크기가 N x M인 비어있는 회로판에서 두 점 A1, A2, 그리고 B1, B2를 전선을 이용해서 이으려고 한다. 전선은 항상 그리드의 수직, 수평선 위에 있어야 한다. 또, 두 직선은 접하면 안 된다. 이 경우에 필요한 전선의 길이의 최솟값을 구하는 프로그램을 작성하시오. 전선은 회로판 바깥으로 나갈 수 없다. 3. 문제 힌트 (1) (A1--A2) (B1--B2..
1. 문제 링크 www.acmicpc.net/problem/5213 5213번: 과외맨 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 500) 다음 줄부터 N*N-N/2줄(/는 정수 나눗셈이다)에는 두 양의 Ai와 Bi가 주어진다. (1 ≤ Ai, Bi ≤ 6, 1 ≤ i ≤ N * N - N / 2) 타일 i의 왼쪽에 쓰여 있는 숫자는 Ai, 오른 www.acmicpc.net 2. 문제 개요 위 그림의 가장 왼쪽 위에서 출발하여 가장 오른쪽 밑의 타일까지 이동하는데 최단경로를 구하시오. 가장 오른쪽 밑까지 도달할 수 없으면 타일번호가 가장 큰 곳으로의 경로를 출력. 3. 문제 힌트 BFS로 최단 경로를 구하는 문제, (1) 1개의 타일이 2개의 블록으로 이루어져 있다고 했을 때, 타일의 개수가 가장 적게 ..