PS
-
백준 18111번 마인크래프트PS 2020. 2. 11. 22:19
https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 땅을 파거나 집을 지을 수 있는 게임이다. 목재를 충분히 모은 lvalue는 집을 짓기로 하였다. 하지만 고르지 않은 땅에는 집을 지을 수 없기 때문에 땅의 높이를 모두 동일하게 만드는 ‘땅 고르기’ 작업을 해야 한다. lvalue는 세로 N, 가로 M 크기의 집터를 www.acmicpc.net 직접 세보기 전까지는 답을 알 수 없는 완전탐색(?) 문제입니다. 저는 높이를 기준으로 위, 아래 블록의 수를 따로 빼서 작업을 ..
-
백준 16967번 배열 복원하기PS 2020. 2. 11. 22:06
https://www.acmicpc.net/problem/16967 16967번: 배열 복원하기 크기가 H × W인 배열 A와 두 정수 X와 Y가 있을 때, 크기가 (H + X) × (W + Y)인 배열 B는 배열 A와 배열 A를 아래로 X칸, 오른쪽으로 Y칸 이동시킨 배열을 겹쳐 만들 수 있다. 수가 겹쳐지면 수가 합쳐진다. 즉, 배열 B의 (i, j)에 들어있는 값은 아래 3개 중 하나이다. (i, j)가 두 배열 모두에 포함되지 않으면, Bi,j = 0이다. (i, j)가 두 배열 모두에 포함되면, Bi,j = Ai,j + Ai-X,j-Y이다. www.acmicpc.net 단순 구현문제입니다. 문제에 나와있는 대로 구현하면 됩니다. method1은 틀렸는데 왜 틀렸는지 모르겠습니다.. #includ..
-
백준 17135번 캐슬 디펜스PS 2020. 2. 10. 21:13
https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 조합, 시뮬레이션 문제입니다. 궁수의 위치를 조합으로 결정한 후, 각각에 대하여 시뮬레이션을 돌리고 최댓값을 찾습니다. 적 탐색은 bfs로 하였습니다. 탐색순서를 문제의 조건에 나온 순으로 합니다. 그리고 적을 만나면 저장해주고 탐색을 끝냅니다. /* (아기상어 문제의 경우 이렇게만 하면 틀립니다. = m) continue; if (visit[ty][tx] == 1) continue; q.push({ ty,..
-
백준 16954번 움직이는 미로 탈출PS 2020. 2. 10. 00:00
https://www.acmicpc.net/problem/16954 16954번: 움직이는 미로 탈출 욱제는 학교 숙제로 크기가 8×8인 체스판에서 탈출하는 게임을 만들었다. 체스판의 모든 칸은 빈 칸 또는 벽 중 하나이다. 욱제의 캐릭터는 가장 왼쪽 아랫 칸에 있고, 이 캐릭터는 가장 오른쪽 윗 칸으로 이동해야 한다. 이 게임의 특징은 벽이 움직인다는 점이다. 1초마다 모든 벽이 아래에 있는 행으로 한 칸씩 내려가고, 가장 아래에 있어서 아래에 행이 없다면 벽이 사라지게 된다. 욱제의 캐릭터는 1초에 인접한 한 칸 또는 대각선 방향으로 인접한 한 칸으로 www.acmicpc.net 조금 특이한 bfs문제 입니다. 벽이 있는 곳으로 이동할 수 없고, 벽이 없는 곳으로 이동했다고 하더라도 내가 이동한 후에..
-
백준 16918번 봄버맨PS 2020. 2. 9. 21:46
https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 시간 개념, 라운드 개념이 저에겐 어렵습니다. 항상 두루뭉실하게 생각하는 습관 때문인거 같습니다. 그래서 각 시간마다 명확하게 무엇을 하는지 알 필요가 있다고 생각했습니다. 종이에 써보면 결국 2초 이상에서는 짝수에는 폭설, 홀수에는 3초 전의 폭탄이 폭발이 일어나는 것을 확인할 수 있었습니다. 그리고 폭탄은 '동시에' 터지는 개념이기 때문에 구현에 유의하여야 합니다. #include #include #includ..
-
백준 16234번 인구 이동PS 2020. 2. 7. 23:59
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 www.acmicpc.net bfs 탐색으로 시뮬레이션 하는 문제입니다. 조건을 만족하면 탐색을 계속하고 아니면 종료해야합니다. 연합인 나라를 모두 알아낸 후에서..
-
백준 16235번 나무 재테크PS 2020. 2. 7. 23:53
https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 떨어진 칸의 개수, c는 가장 왼쪽으로부터 떨어진 칸의 개수이다. r과 c는 1부터 시작한다. 상도는 전자통신공학과 출신답게 땅의 양분을 조사하는 로봇 S2D2를 만들었다. S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 www.acmicpc.net 시뮬레이션 문제입니다. 풀면서 자료구조 선택이 승패를 좌우하겠구나 생각했습니다. 나무에 대한 정보, 현재 양분에 대한 정보, 뿌리는..
-
백준 16236번 아기상어PS 2020. 2. 7. 23:35
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net bfs 탐색으로 시뮬레이션하는 문제입니다. 처음에 큐에 넣는 순서를 조건대로 해준 다음에 먹이를 만나면 바로 먹는 것으로 처리를 하..