본문 바로가기

전체 글

(90)
[백준/c++] BOJ 28471 - W키가 빠진 성원이 https://www.acmicpc.net/problem/28471 28471번: W키가 빠진 성원이 성원이는 게임을 너무 열심히 한 나머지 키보드의 W키가 빠져버리게 되었다. 그럼에도 게임이 하고 싶었던 성원이는 W키 없이도 할 수 있는 게임을 찾아 나섰다. 그러다 한 게임을 찾았는데, 보 www.acmicpc.net 문제 설명 q, w, e, a, d, z, x, c 키를 이용해 8방향으로 캐릭터를 움직일 수 있다. 성원이는 w키가 빠져 7 방향으로 캐릭터를 움직일 수 있다. NxN 게임판 위에서 목적지에 도달한다. 빈 공간이 ".", 이동할 수 없는 공간이 "#", 목적지가 "F"로 주어진다. 목적지는 항상 한 개 존재한다. 목적지에 도달할 수 있도록 하는 시작 지점의 개수를 구한다. N (1 시작..
[백준/c++] BOJ 18126 - 너구리 구구 https://www.acmicpc.net/problem/18126 18126번: 너구리 구구 텔레토비 동산에 사는 너구리 구구는 입구, 거실, 주방, 안방, 공부방, 운동실, 음악실, 음식 창고 등 N개의 방을 가지고 있다. 입구를 포함한 모든 방은 1부터 N까지의 번호가 있고, 입구는 1번이 www.acmicpc.net 문제 설명 N개의 방이 있다. 모든 방은 1부터 N까지의 번호가 있고, 입구는 1번이다. 입구는 한 개이며, 모든 방들은 총 N-1개의 길로 서로 오고 갈 수 있다. 최대한 입구에서 먼 방에 아이스크림을 숨기려고 한다. 아이스크림을 숨기려고 하는 방까지 이동하는 거리를 구한다. N (1 > b >> c; vec[a].push_back(b); vec[b].push_back(a); boa..
[백준/c++] BOJ 1326 - 폴짝폴짝 https://www.acmicpc.net/problem/1326 1326번: 폴짝폴짝 첫째 줄에 징검다리의 개수 N(1≤N≤10,000)이 주어지고, 이어서 각 징검다리에 쓰여 있는 N개의 정수가 주어진다. 그 다음 줄에는 N보다 작거나 같은 자연수 a, b가 주어지는 데, 이는 개구리가 a번 www.acmicpc.net 문제 설명 일렬로 놓여 있는 징검다리 사이를 뛰어다닌다. 징검다리에는 숫자가 각각 쓰여 있는데, 그 징검다리에 쓰여 있는 수의 배수만큼 떨어져 있는 곳으로만 갈 수 있다. a번째 징검다리에서 b번째 징검다리까지 가려고 할 때, 최소 몇 번 점프하여 갈 수 있는지 구한다. 징검다리의 개수 N (1 > board[i]; cin >> a >> b; a--; b--; cout
[백준/c++] BOJ 2210 - 숫자판 점프 https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net 문제 설명 5x5 크기의 숫자판이 있다. 각 칸에는 0부터 9까지의 숫자가 적혀 있다. 임의의 위치에서 시작해서, 인접한 다섯 방향으로 이동하면서, 각 칸에 적혀 있는 숫자를 차례로 붙이면 6자리 수가 만들어진다. 한 번 거쳤던 칸을 다시 거쳐도 되며, 만들 수 있는 서로 다른 여섯 자리 수들의 개수를 구한다. 해결 모든 칸에서의 시작을 고려해야 하므로 ..
[백준/c++] BOJ 26169 - 세 번 이내에 사과를 먹자 https://www.acmicpc.net/problem/26169 26169번: 세 번 이내에 사과를 먹자 5 x 5 크기의 보드가 주어진다. 보드는 1 x 1 크기의 정사각형 격자로 이루어져 있다. 보드의 격자는 사과가 1개 있는 격자, 장애물이 있는 격자, 빈칸으로 되어 있는 격자로 구분된다. 격자의 위치 www.acmicpc.net 문제 설명 5x5 크기의 보드에 1 (사과가 있는 칸), 0 (비어 있는 칸), -1 (장애물이 있는 칸) 이 있다. 상, 하, 좌, 우 중 한 가지 방향으로 이동했을 때, 이동한 칸에 사과가 있다면 해당 칸에 있는 사과를 1개 먹는다. 지나간 칸은 즉시 장애물이 있는 칸으로 변경된다. 세 번 이하의 이동으로 사과 2개 이상을 먹을 수 있으면 1을 출력하고, 그렇지 않..
[백준/c++] BOJ 18404 - 현명한 나이트 https://www.acmicpc.net/problem/18404 18404번: 현명한 나이트 첫째 줄에 N과 M이 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ N ≤ 500, 1 ≤ M ≤ 1,000) 둘째 줄에 나이트의 위치 (X, Y)를 의미하는 X와 Y가 공백을 기준으로 구분되어 자연수로 주어진다. ( www.acmicpc.net 문제 설명 NxN 크기 체스판의 특정한 위치에 하나의 나이트가 존재한다. 이때 M개의 상대편 말들의 위치 값이 주어질 때, 상대편 말을 잡기 위한 나이트의 최소 이동 수를 계산한다. 나이트는 다음과 같은 위치로 이동 가능하다. N, M (1 knight.x >> knight.y; knight.x--, knight.y--; for (int i = 0; i < m..
[백준/c++] BOJ 1246 - 온라인 판매 https://www.acmicpc.net/problem/1246 1246번: 온라인 판매 첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다. www.acmicpc.net 문제 설명 총 N개의 달걀이 있고, 잠재적인 고객은 총 M명이다. 그리고 각각의 i번째 고객은 각자 달걀 하나를 Pi 가격 이하로 살 수 있다고 밝혔다. 한 고객에게 두 개 이상의 달걀을 팔지 않기로 한다. 최대 수익을 올릴 수 있는 달걀의 가장 낮은 가격을 책정한다. N, M (1 m; for (int i = 0; i > a; v.push_back(a)..
[백준/c++] BOJ 21278 - 호석이 두 마리 치킨 문제 설명 https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net 문제 설명 도시는 N개의 건물과 M개의 도로로 이루어져 있다. 건물은 1번부터 N번의 번호를 가지고 있다. i번째 도로는 서로 다른 두 건물 Ai와 Bi 사이를 1시간에 양방향으로 이동할 수 있는 도로이다. N개의 건물 중, 2개의 건물을 골라 치킨집을 지으려고 한다. 단, "모든 건물에서 가장 가까운 치킨집까지 왕복하는 최단 시간의 총합"을 최소화할 수 ..