구현 12

[BOJ/Gold 4] 백준 23309 철도 공사(C++)

문제 링크 https://www.acmicpc.net/problem/23309 23309번: 철도 공사 첫 번째 줄에 공사를 시작하기 이전에 있는 역의 개수를 나타내는 양의 정수 $N$과 공사 횟수를 나타내는 양의 정수 $M$이 주어진다. ($1 \le N \le 500\,000$, $1 \le M \le 1\,500\,000$) 두 번째 줄에는 공사 www.acmicpc.net 문제 연세대학교가 위치한 신촌역이 속한 2호선은 그림과 같이 N개의 역이 원형으로 연결되어 있다. 각 역은 고유 번호가 할당돼 있으며 역들의 고유 번호는 서로 다르다. 그리고 특정 역의 다음 역은 시계 방향으로 인접한 역을 의미하고, 이전 역은 반시계 방향으로 인접한 역을 의미한다. 2호선은 지하철 노선들 중 유일한 흑자 노선이..

BOJ/Gold 2023.06.30

[BOJ/Bronze 2] 백준 27982 큐브 더미(C++)

문제 링크 https://www.acmicpc.net/problem/27982 문제 N × N × N 크기의 입체 공간이 있다. 공간 속 좌표는 1 ≤ i, j, k ≤ N을 만족하는 세 정수 (i, j, k)로 나타낸다. 공간 속에는 M개의 큐브들이 존재하며, 각 큐브는 정확히 하나씩의 좌표를 차지한다. 같은 좌표에는 여러 개의 큐브가 겹쳐 있지 않다. 다음 조건을 만족하는 큐브의 개수를 찾아보자. (i, j, k)에 큐브가 존재할 때, (i ± 1, j, k),(i, j ± 1, k),(i, j, k ± 1) 총 6곳 모두에 큐브가 존재한다. 입력 첫 번째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에 걸쳐 각 줄마다 세 정수 i, j, k가 주어진다. 이는 (i, j, k)에 큐브가 존재한다..

BOJ/Bronze 2023.05.07

[BOJ/Diamond 5] 백준 6300 단어 퍼즐(C++)

문제 링크 https://www.acmicpc.net/problem/6300 6300번: 단어 퍼즐 첫째 줄에 격자판의 줄 수 L, 열 수 C, 찾아야 할 단어의 개수 W가 주어진다(0 < L, C, W ≤ 1000). 이어서 L개의 줄에 격자판이 주어지며 각 줄은 C글자의 대문자로 이루어져 있다. 이어서 W개의 줄에 찾 www.acmicpc.net 문제 긴말이 필요없다. 단어 퍼즐을 풀어보자. 직사각형 모양의 격자판에서 각 단어들이 상하, 좌우, 대각선 총 8개의 방향 중 하나로 연속해서 등장하는 위치를 찾아야 한다(문제의 예를 보고 싶다면 원문 또는 예제 입력을 참조하시오). 제일 왼쪽 위 칸의 위치는 (0, 0)이다. 이제 각 단어가 등장하는 시작 위치를 찾고, 어느 방향으로 읽어야 하는지도 구하시..

[BOJ/Gold 5] 백준 23796 2,147,483,648 게임(C++)

문제 링크 https://www.acmicpc.net/problem/23796 문제 호준이는 2048 게임을 발전시킨 2,147,483,648 게임을 하고 있다. 2,147,483,648 게임은 8×8 크기의 게임판에서 키보드의 방향키를 통해 2^k (1 ≤ k ≤ 30)꼴에 해당하는 정수가 쓰여 있는 타일들을 움직이며 2,147,483,648( = 2^31)을 만드는 것이 목적인 게임이다. 이 게임은 방향키가 눌렸을 때 다음과 같은 규칙으로 진행된다. 눌린 방향키와 같은 방향으로 타일들을 벽 끝까지 밀어 넣는다. 만약 밀어넣는 방향으로 같은 수가 두 타일 연속해서 존재한다면 그 두 타일을 합친다. 만약 세 타일 이상 연속해있다면 방향키가 가리키는 쪽의 벽에 가까운 쪽부터 두 개씩 합쳐진다. 한 번의 방..

BOJ/Gold 2023.02.28

[BOJ/Gold 5] 백준 22234 가희와 은행(C++)

문제 링크 https://www.acmicpc.net/problem/22234 22234번: 가희와 은행 가희는 창구가 하나인 은행을 운영하고 있습니다. 가희의 은행이 영업을 시작했을 때, 대기 줄에는 손님이 N명 있습니다. [그림 1] 카운터 직원과 N명의 손님 x번 손님에 대한 정보는 x번 손님의 www.acmicpc.net 문제 가희는 창구가 하나인 은행을 운영하고 있습니다. 가희의 은행이 영업을 시작했을 때, 대기 줄에는 손님이 N명 있습니다. [그림 1] 카운터 직원과 N명의 손님 x번 손님에 대한 정보는 x번 손님의 id 값인 Px와 업무를 처리하는 데 필요한 시간인 tx초로 정보가 주어지게 됩니다. 은행이 영업을 시작하고 난 후에 들어오는 손님은 M명 있습니다. 이 손님들은 입력을 받은 순서..

BOJ/Gold 2023.02.27

[BOJ/Gold 4] 백준 16569 화산쇄설류(C++)

문제 링크 https://www.acmicpc.net/problem/16569 16569번: 화산쇄설류 첫 번째 줄에 정수 M, N, V이 공백으로 구분되어 주어진다. (1 ≤ M, N ≤ 100, 1 ≤ V ≤ min(5,000, M×N)) 그 다음 줄에 X, Y가 공백으로 구분되어 주어진다. (1 ≤ X ≤ M, 1 ≤ Y ≤ N) 그 다음 줄부터 M개의 www.acmicpc.net 문제 화산학자 윤재상은 어느 화산섬을 탐사하러 갔다가 곧 섬에 있는 화산들이 곧 폭발하기 시작할 것이라는 급보와 각 화산의 폭발 시점 정보를 받았다. 섬은 M행 N열의 행렬로 표현된다. 어떤 화산의 위치를 (x, y), 폭발을 시작한 시각을 t 라고 하자. t+δ 시각이 되면 δ ≥ |u-x|+|v-y|인 모든 (u, v..

BOJ/Gold 2023.01.10

[BOJ/Platinum 5] 백준 19235 모노미노도미노(C++)

문제 링크 https://www.acmicpc.net/problem/19235 19235번: 모노미노도미노 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net 문제 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, y는 열을 의미한다. 빨간색, 파란색, 초록색 보드가 사용하는 좌표는 그 색으로 그림에 적혀있다. 이 게임에서 사용하는 블록은 타일 하나 또는 두 개가 가로 또는 세로로 붙어있는 형..

[BOJ/Platinum 5] 백준 2642 전개도(C++)

문제 링크 https://www.acmicpc.net/problem/2642 2642번: 전개도 입력은 여섯 줄로 되어 있으며 각 줄에는 0에서 6까지의 정수들이 여섯 개 있고, 숫자 사이에는 빈칸이 하나씩 있다. 1에서 6까지의 숫자는 전개도의 면을 나타내고, 0은 전개도의 바깥 부분을 나 www.acmicpc.net 문제 아래에 주어진 전개도의 점선 부분을 접어서 주사위 모양의 정육면체를 만들 수 있는지를 생각해 보자. 전개도의 각 면은 1에서 6까지 서로 다른 정수로 표시되어 있다. 전개도 (1)은 정육면체로 접을 수 있지만, 전개도 (2)는 정육면체로 접을 수 없다. 입력으로 주어진 전개도를 정육면체로 접을 수 있는지를 알아보는 프로그램을 작성하시오. 입력 입력은 여섯 줄로 되어 있으며 각 줄에는..

[BOJ/Platinum 4] 백준 3025 돌 던지기(C++)

문제 링크 https://www.acmicpc.net/problem/3025 3025번: 돌 던지기 이 모든 사건의 시작은 2주 전이었다. 그 날 상근이는 복도에 누워서 잠을 자고 있었다. 커다란 돌을 들고 그 옆을 지나가던 민혁이는 복도에서 잠을 자는 사람을 처음봐서 신기하게 쳐다보고 있 www.acmicpc.net 문제 이 모든 사건의 시작은 2주 전이었다. 그 날 상근이는 복도에 누워서 잠을 자고 있었다. 커다란 돌을 들고 그 옆을 지나가던 민혁이는 복도에서 잠을 자는 사람을 처음봐서 신기하게 쳐다보고 있었다. 그 때였다. 들고 있던 돌을 상근이의 왼 발에 떨어뜨렸다. 상근이는 응급실로 실려갔고, 한 달 동안 침대에 누워서 휴식을 취해야 한다는 진단을 받았다. 민혁이는 미안한 마음에 하던 일을 모두..

[BOJ/Platinum 5] 백준 19541 역학 조사(C++)

문제 링크 https://www.acmicpc.net/problem/19541 19541번: 역학 조사 2020년, 신종 전염병이 유행하여 UCPC국 질병관리본부에서 역학 조사를 하고 있다. UCPC국의 인구는 총 $N$명이며 각각 $1$, $2$, $\cdots$, $N$번의 주민번호가 붙어있다. 질병관리본부는 지금까지 $M$개의 www.acmicpc.net 문제 2020년, 신종 전염병이 유행하여 UCPC국 질병관리본부에서 역학 조사를 하고 있다. UCPC국의 인구는 총 N명이며 각각 1, 2, ... ,N번의 주민번호가 붙어있다. 질병관리본부는 지금까지 M개의 모임이 있었다는 사실을 파악했다. 각 모임은 k명이 참여했고 해당 모임은 주민번호가 a1, a2, ..., ak인 사람들이 참여했다. 전염병..

[BOJ/Platinum 5] 백준 17470 배열 돌리기 5(C++)

문제 링크 https://www.acmicpc.net/problem/17470 17470번: 배열 돌리기 5 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 문제 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → 7 4 6 2 3 1 7 4 6 2 3 1 ..

[BOJ/Gold 4] 백준 2116 주사위 쌓기(C++)

문제 링크 https://www.acmicpc.net/problem/2116 2116번: 주사위 쌓기 첫줄에는 주사위의 개수가 입력된다. 그 다음 줄부터는 한 줄에 하나씩 주사위의 종류가 1번 주사위부터 주사위 번호 순서대로 입력된다. 주사위의 종류는 각 면에 적혀진 숫자가 그림1에 있는 www.acmicpc.net 문제 천수는 여러 종류의 주사위를 가지고 쌓기 놀이를 하고 있다. 주사위의 모양은 모두 크기가 같은 정육면체이며 각 면에는 1부터 6까지의 숫자가 하나씩 적혀있다. 그러나 보통 주사위처럼 마주 보는 면에 적혀진 숫자의 합이 반드시 7이 되는 것은 아니다. 주사위 쌓기 놀이는 아래에서부터 1번 주사위, 2번 주사위, 3번 주사위, … 의 순서로 쌓는 것이다. 쌓을 때 다음과 같은 규칙을 지켜야..

BOJ/Gold 2022.01.10