Problem Solving/BOJ
-
[BOJ] #14891 _ 톱니바퀴Problem Solving/BOJ 2019. 8. 28. 21:44
[톱니바퀴] https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다. 톱니바퀴를 회전시키려 www.acmicpc.net 톱니바퀴가 한 톱니바퀴의 회전에 따라 연쇄적으로 계속 도는 것이 아닌, 조건이 맞으면 딱 한 번씩만 회전하는 간단한 시뮬..
-
[BOJ] #14888 _ 연산자 끼워넣기Problem Solving/BOJ 2019. 8. 28. 21:36
[연산자 끼워넣기] https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱셈(×)의 개수, 나눗셈(÷)의 개수이다. www.acmicpc.net 연산자의 순서를 모든 경우의 수로 다 계산한 후 최대, 최소 값을 구하는 문제이다. 간단하게 next_permutation을 이용하여 구현하였다. 처음에 MAX 값을 999999로 설정하였으나, 틀렸다. 출력을 읽어보면, 범위가 -10억 ~ 10억이라고 되어있다. (문제를 똑바로..
-
[BOJ] #14503 _ 로봇 청소기Problem Solving/BOJ 2019. 8. 28. 21:28
[로봇 청소기] https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음 www.acmicpc.net 시뮬레이션 문제이다. 주어진 조건대로 구현하면 된다. [ 소스 코드 ] #include #include #defi..
-
[BOJ] #14501 _ 퇴사Problem Solving/BOJ 2019. 8. 28. 21:25
[퇴사] https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net dfs를 이용하여 모든 경우의 수를 해보고, 최대 수익을 구하였다. 찾아보니 DP를 이용해 풀 수도 있다. [ 소스 코드 ] #include #include #define MAX 15 using namespace std; int N, T[MAX + 1], P[MAX + 1]; int result = 0; void solve(int day, int TotalPrice); int main() { scanf("%d", &N); for (int i = 1; i N) { result = max(result, TotalPrice); r..
-
[BOJ] #14499 _ 주사위 굴리기Problem Solving/BOJ 2019. 8. 28. 21:19
[주사위 굴리기] https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도에 쓰여 있는 수가 북쪽부터 남쪽으로, 각 줄은 서쪽부터 동쪽 순서대로 주어진다. 주사위를 놓은 칸에 쓰여 있는 수는 항상 0이다. 지도의 각 칸에 쓰여 있는 수는 10을 넘지 않는 자연수 또는 0이다. 마 www.acmicpc.net 주어진 주사위 도면도의 숫자가 동쪽, 서쪽, 북쪽, 남쪽으로 이동할 때 동일한 규칙으로 변경된다. 주사위의 방..