본문 바로가기

백준88

[백준 17070] 파이프 옮기기 1, C++ https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 www.acmicpc.net 본 문제는 가로, 세로, 대각선으로 파이프를 설치하여 n-1, m-1에 도착하는 경우의 수를 출력하는 문제다. 1은 벽이고 .. 2020. 4. 22.
[백준 16933] 벽 부수고 이동하기 3, C++ https://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 벽 부수고 이동하기 시리즈 문제다. 0은 빈 칸, 1은 벽이다. 이동하는 방법은 상하좌우로 움직일 수 있고, 그 자리에 멈출 수 도 있다. 부술수 있는 벽의 개수가 주어지고, 벽은 낮에만 부술수 있다. 따라서 위치 좌표, 벽을 부순 개수, 낮밤을 저장할 4차원의 배열이 필요하다. 벽 부수고 이동하기 2 문제에서 낮밤만 추가된 문제로 낮밤을 표시하기 위해 3차원 .. 2020. 4. 22.
[백준 15683] 감시, C++ https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을 감시할 www.acmicpc.net 본 문제는 주어진 cctv를 회전하여 사각지대의 최솟값을 구하는 문제다. cctv는 총 5가지가 존재하여 회전은 4방향으로 가능하다. 따라.. 2020. 4. 16.
[백준 15662] 톱니바퀴 (2), C++ https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, ..., 가장 오른쪽 톱니바퀴는 T번이다. 아래 그림은 T가 4인 경우이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다 www.acmicpc.net 본 문제는 톱니바퀴 문제와 마지막 12시에 톱니 개수를 구하는 부분만 다른 문제다. 톱니바퀴 문제를 풀 때를 생각해보면 참 어.. 2020. 4. 12.
[백준 1938] 통나무 옮기기, C++ https://www.acmicpc.net/problem/1938 1938번: 통나무 옮기기 첫째 줄에 주어진 평지의 한 변의 길이 N이 주어진다. (4 n; vector B; vector E; for (int i = 0; i > s; for (int j = 0; j 2020. 3. 30.
[백준 1005] ACM Craft, C++ https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N 과 건물간의 건설순서규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부터 N번까지 존재한다) 둘째 줄에는 각 건물당 건설에 걸리는 시간 D가 공백을 사이로 주어진다. 셋째 줄부터 K+2줄까지 건설순서 X Y가 주어진다. (이는 건물 X를 지은 다음에 건물 Y를 짓는 것이 가능하다는 의미이다) 마지막 줄에는 백준이가 승리하기 위해 건 www.acmicpc.net 본 문제는 DAG(topology sort)를 구현하는 문제다. 각 작업마다 필요한 선행작업 개수를 구하고, 선행작업이 0인 작업 .. 2020. 3. 22.