목록알고리즘/백준 (341)
어흥
문제 링크: www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 1. 주의할 점 - 매 TC마다 구하지 않고, 각 열의 1~N까지의 합을 Arr[][N]에 저장한다 2. 구현 - Arr[M][N] = Arr[M][N-1] + [M][N]에 입력받는 수를 저장한다 - 각 쿼리마다 Arr[][Y2]-Arr[][Y1-1] 까지의 합을 X1~X2행까지 수행하여 출력한다 #include using namespace std; lo..
문제 링크: www.acmicpc.net/problem/20005 20005번: 보스몬스터 전리품 입력의 첫째 줄에는 멤멤월드의 지도의 크기를 나타내는 두 정수 M(6 ≤ M ≤ 1000), N(6 ≤ N ≤ 1000)과 플레이어의 수 P(1 ≤ P ≤ 26)가 주어진다. M은 지도의 세로 길이, N은 지도의 가로 길이이다. 입 www.acmicpc.net 1. 주의할 점 - AC가 나와도 필요없는 작업은 하지 않도록 노력한다(Ex. '각 플레이어->보스까지의 거리' 대신 보스->각 플레이어까지의 거리) - 보스가 플레이어에게 도달해도 4방향 이동은 이어서 한다 2. 구현 - 2가지의 방법으로 풀었다(단, BFS의 방법은 같다) (0) 공통(BFS) - 보스를 위치를 기준으로 큐에 담아서 각 플레이어까지..
문제 링크: www.acmicpc.net/problem/13908 13908번: 비밀번호 첫 번째 예제의 경우 가능한 비밀번호의 조합은 07, 17, 27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 87, 97이다. 두 번째 예제의 경우 가능한 비밀번호의 조합은 34, 43이다. www.acmicpc.net 1. 주의할 점 - 메모리 제한이 있으므로 Set을 이용하지 않도록 한다 2. 구현 - 7!의 연산을 수행해도 1초에 도달하지 못하기 때문에 브루트포스로 접근해도 상관없다(상황마다 다르지만, 약 10!가 1초로 알고있습니다) - 필요로 하는 수를 V 벡터에 담는다 - DFS()를 수행하며 Str의 길이가 N이 되었다면 V에서 필요로 하는 모든..
문제 링크: www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 1. 주의할 점 - 다익스트라나 플로이드 와샬 알고리즘에 대해 알고 있어야 한다 2. 구현 - 각 Node마다 보유한 아이템의 수를 Item[] 배열에 담는다 - 플로이드 와샬 알고리즘을 사용하기 위해 Arr[][] 배열을 미리 초기화한다 - 간선이 주어진 경우, Arr[][]에 대입한다 - 플로이드 와샬 알고리즘을 수행한 후, 각 지점마다 수색범위 D를 넘지 않을 경우, Temp에 해당 지역이 보유한 ..
문제링크: www.acmicpc.net/problem/14923 14923번: 미로 탈출 홍익이는 사악한 마법사의 꾐에 속아 N x M 미로 (Hx, Hy) 위치에 떨어졌다. 다행히도 홍익이는 마법사가 만든 미로의 탈출 위치(Ex, Ey)를 알고 있다. 하지만 미로에는 곳곳에 마법사가 설치한 벽이 www.acmicpc.net 1. 주의할 점 - 벽은 최대 1번만 뚫을 수 있으므로, 3차원 배열을 통해 BFS를 진행한다 2. 구현 - Check[][][]배열을 모두 MAX로 초기화한다 - 시작점을 Queue에 넣고 BFS를 수행한다 - CW==0 ? 벽을 뚫은 적 없음 : 벽을 뚫은 적 있음 - 다음 칸이 길이라면, 해당 칸의 Check[][][cw]와 Cv+1값을 비교하여 진출 여부를 판단한다 - 다음 ..
문제링크: www.acmicpc.net/problem/10159 10159번: 저울 첫 줄에는 물건의 개수 N 이 주어지고, 둘째 줄에는 미리 측정된 물건 쌍의 개수 M이 주어진다. 단, 5 ≤ N ≤ 100 이고, 0 ≤ M ≤ 2,000이다. 다음 M개의 줄에 미리 측정된 비교 결과가 한 줄에 하나씩 www.acmicpc.net 1. 주의할 점 - 플로이드-와샬 알고리즘을 사용한다 2. 구현 - 각각의 비교 결과를 담는 Arr[][] 배열을 사용한다 - 입력받는 2개의 물건에 대해 앞쪽이 더 크므로 Arr[a][b] = 1, Arr[b][a] = -1로 선언하여 둘의 대소관계를 정리한다 - 플로이드 와샬 알고리즘을 통해 비교하려는 2개의 값이 모두 0이 아닌 같은 값을 지닐 경우, 해당 값으로 배열을..
문제 링크: www.acmicpc.net/problem/11964 11964번: Fruit Feast Bessie has broken into Farmer John's house again! She has discovered a pile of lemons and a pile of oranges in the kitchen (effectively an unlimited number of each), and she is determined to eat as much as possible. Bessie has a maximum fullness of \(T\) ( www.acmicpc.net 1. 주의할 점 - 그리디로 접근하지 않도록 한다(예외를 잘 처리하면 가능할지도..?. Ex. 9 5 6) 2. 구현 - ..
문제 링크: www.acmicpc.net/problem/14324 14324번: Rain (Small) The first line of the input gives the number of test cases, T. T test cases follow. The first line of each test case contains two numbers R and C indicating the number of rows and columns of cells on the island. Then, there are R lines of C posi www.acmicpc.net ※ 비슷한 문제: www.acmicpc.net/problem/1113 1113번: 수영장 만들기 지민이는 수영장을 만들려고 한다. 수영장을 ..