C++
-
백준(BOJ) 12996번 Acka알고리즘 풀이/백준(Boj) 2019. 10. 13. 02:11
문제 : https://www.acmicpc.net/problem/12996 12996번: Acka 첫째 줄에 앨범에 포함된 곡의 개수 S와 dotorya, kesakiyo, hongjun7이 불러야 하는 곡의 수가 주어진다. (1 ≤ S ≤ 50, 1 ≤ dotorya, kesakiyo, hongjun7 ≤ S) www.acmicpc.net 풀이 : 한 앨범당 가질수 있는 경우의 수는 7가지 이다 ( a만 b만 c만 a,b만 a,c만 b,c만 a,b,c ) 따라서 각각의 경우의 수를 모두 재귀호출 해준 후 중복은 메모이제이션으로 없애자. 코드 ( C++ )
-
백준(BOJ) 15562 톱니바퀴(2)알고리즘 풀이/백준(Boj) 2019. 10. 10. 13:22
문제 : https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, ..., 가장 오른쪽 톱니바퀴는 T번이다. 아래 그림은 T가 4인 경우이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다 www.acmicpc.net 풀이 : 한번 돌릴때의 일어나는 모든 상호작용은 큐로 처리한다. 즉 어떤 한 시계의 방향을 돌렸을때의 양옆의 톱니바퀴..
-
백준(BOJ) 2234번 성곽알고리즘 풀이/백준(Boj) 2019. 10. 5. 03:38
문제 : https://www.acmicpc.net/problem/2234 2234번: 성곽 문제 대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하시오. 이 성에 있는 방의 개수 가장 넓은 방의 넓이 하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크기 위의 예에서는 방은 5개고, 가장 큰 방은 9개의 칸으로 이루어져 있으며, 위의 그림에서 화살표가 가리키는 벽을 제거하면 16인 크기의 방을 얻을 www.acmicpc.net 풀이 : 1번은 bfs를 돌때마다 num을 ++ 해주어서 구한다. 2번은 bfs를 돌며 q에 담긴 횟수를 반환하여 넓이 중 최대 값을..
-
백준(BOJ) 2210번 숫자판 점프카테고리 없음 2019. 10. 2. 22:57
문제 : 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 풀이 : 0,0좌표부터 ~ 4.4 좌표까지 하나씩 시도해보자. 중복이 없으니 방문표시를 하는 배열은 없다. 자기자신 + 5번 이므로 총 6번을 갔다면 set에 저장하자. set은 중복 저장을 막는 용도로 사용하였다. 중복을 제외한 총 개수를 출력하면 답이된다.
-
백준(BOJ) 14442번 벽 부수고 이동하기 2알고리즘 풀이/백준(Boj) 2019. 10. 1. 23:49
문제 : https://www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 풀이 : q에 들어갈 요소는 y , x 값과 K의 값이다. 상하좌우로 방문하면서 벽에 방문하더라도 K의 값을 깍으면서 진행 할 수 있도록 만들자. 코드 ( C++ )
-
백준(BOJ) 12869번 뮤탈리스크알고리즘 풀이/백준(Boj) 2019. 9. 28. 17:17
문제 : https://www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net 문제 수빈이는 강호와 함께 스타크래프트 게임을 하고 있다. 수빈이는 뮤탈리스크 1개가 남아있고, 강호는 SCV N개가 남아있다. 각각의 SCV는 남아있는 체력이 주어져있으며, 뮤탈리스크를 공격할 수는 없다. 즉, 이 게임은 수빈이가 이겼다는 것이다. 뮤탈리스크가 공격을 할 때, 한 번에 세 개의 SCV를 공격할 수 있다. 첫 번째로 공격받는 SCV는 체력 9를 잃는다. 두 번째로 공격받는 SCV는..
-
백준(BOJ) 15683번 감시알고리즘 풀이/백준(Boj) 2019. 9. 26. 19:28
문제 : 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 풀이 : v배열에 1~5 cctv인 좌표 y,x들을 담는다. 그 후 재귀호출을 통해 0이 최소가 되는 best를 찾는다. solv..
-
백준(BOJ) 3184번 양알고리즘 풀이/백준(Boj) 2019. 9. 24. 17:25
문제 : https://www.acmicpc.net/problem/3184 3184번: 양 문제 미키의 뒷마당에는 특정 수의 양이 있다. 그가 푹 잠든 사이에 배고픈 늑대는 마당에 들어와 양을 공격했다. 마당은 행과 열로 이루어진 직사각형 모양이다. 글자 '.' (점)은 빈 필드를 의미하며, 글자 '#'는 울타리를, 'o'는 양, 'v'는 늑대를 의미한다. 한 칸에서 수평, 수직만으로 이동하며 울타리를 지나지 않고 다른 칸으로 이동할 수 있다면, 두 칸은 같은 영역 안에 속해 있다고 한다. 마당에서 "탈출"할 수 있는 칸은 어떤 영역에도 속하지 www.acmicpc.net 문제 미키의 뒷마당에는 특정 수의 양이 있다. 그가 푹 잠든 사이에 배고픈 늑대는 마당에 들어와 양을 공격했다. 마당은 행과 열로 이..