본문 바로가기

알고리즘

(60)
BOJ 14462 소가 길을 건너간 이유 8 https://www.acmicpc.net/problem/14462 14462번: 소가 길을 건너간 이유 8 존 (우리가 지금까지 도와 주었던 존과는 다른 인물이다)의 농장에는 N 종류의 소가 있다. 각각 1번 종, 2번 종, ..., N번 종 (1 ≤ N ≤ 1000)이다. 만약 |a−b| ≤ 4라면 a번 종과 b번 종의 소는 친하지만 www.acmicpc.net 왼쪽의 i 번째 소, 오른쪽의 j 번째 소를 이을려고 할 때 (물론 두 소가 친한 경우에) 어떻게 해야할 까 생각해보니, DP로 풀면 되겠다고 생각했다. 왜냐하면, i 번째 소, j 번째 소를 이을 때, [ 0,0 ] ~ [ i - 1, j - 1 ] 조합 중 가장 많은 소를 연결하는 경우에 더해 i , j 를 잇기만 하면 되기 때문에, DP..
BOJ 14451 안대 낀 스피드러너 https://www.acmicpc.net/problem/14451 14451번: 안대 낀 스피드러너 "전진, 우회전, 전진, 전진, 좌회전, 전진, 좌회전, 전진, 전진"의 순서를 따르면 6초 또는 9초만에 도착할 수 있다. www.acmicpc.net 딱 보고 떠오르는 풀이가 없어 차근차근 생각하기로 했다. 처음 생각한 풀이는 naive 하게 경로의 경우의 수를 완전탐색하여 푸는 것이였다. 당연히 시간초과라고 생각했고, 그럼 BFS로 탐색하면 어떨까 생각했는데, 2개의 경우(상 방향 출발, 우 방향 출발)를 어떻게 고려할 지 고민을 좀 했다. 생각하던 찰나 그냥 한꺼번에 같이 탐색을 돌리면 어떨까라는 생각을 하게 됬다. 마침 크기도 작아서 n^6 까지 가능한 것을 확인하고, 해당 풀이를 확신했다. 아..
BOJ 11983 Radio Contact https://www.acmicpc.net/problem/11983 11983번: Radio Contact The first line of input contains \(N\) and \(M\) (\(1 \leq N, M \leq 1000\)). The second line contains integers \(f_x\) and \(f_y\), and the third line contains \(b_x\) and \(b_y\) (\(0 \leq f_x, f_y, b_x, b_y \leq 1000\)). The next line contains a string www.acmicpc.net 이런 유형의 문제를 많이 풀어봐서 풀이가 바로 하나 떠올랐다. 그 풀이는 DP였고, DP라고 확정한 이유는 다음과 같다..
BOJ 11968 High Card Wins https://www.acmicpc.net/problem/11968 11968번: High Card Wins Bessie the cow is a huge fan of card games, which is quite surprising, given her lack of opposable thumbs. Unfortunately, none of the other cows in the herd are good opponents. They are so bad, in fact, that they always play in a completely predictable fas www.acmicpc.net 그냥 Greedy 하게 숫자가 큰 카드들을 하나씩 사용하면서 이긴 횟수가 정답이다. 이길때 간소하게 이기고, 질 때..
BOJ 15460 My Cow Ate My Homework https://www.acmicpc.net/problem/15460 15460번: My Cow Ate My Homework In your bovine history class, you have been given a rather long homework assignment with $N$ questions ($3 \leq N \leq 100,000$), each graded with an integer score in the range 0...10,000. As is often customary, your teacher plans to assign a final grade b www.acmicpc.net 역순으로 하나씩 합쳐보면 전처리 없이 정답을 구할 수 있다. 소수정밀도에 대해 안다면 코드를 굉장히 ..
BOJ 11964 Fruit Feast https://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 전형적인 DP문제였다. 거스름돈 문제 ( boj 2294) 를 풀었던 사람들은 바로 풀 수 있었을 것이다. 좀더 최적화 ..
BOJ 11997 Load Balancing (Silver) https://www.acmicpc.net/problem/11997 11997번: Load Balancing (Silver) Farmer John's \(N\) cows are each standing at distinct locations \((x_1, y_1) \ldots (x_N, y_N)\) on his two-dimensional farm (\(1 \leq N \leq 1000\), and the \(x_i\)'s and \(y_i\)'s are positive odd integers of size at most \(1,000,000\)). FJ wants to par www.acmicpc.net N이 많이 작아 (n
BOJ 23289 온풍기 안녕! https://www.acmicpc.net/problem/23289 23289번: 온풍기 안녕! 유난히 추운 날씨가 예상되는 이번 겨울을 대비하기 위해 구사과는 온풍기를 설치하려고 한다. 온풍기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기 www.acmicpc.net 오랜만에 풀어보는 빡구현 문제이다. 문제에서 주어진대로 구현하면되지만, 자잘한 오타 및 잘못된 로직이 있어 시간이 좀 걸렸다. #include #include using namespace std; /* bit 1111: 상하좌우 가능 d(0-based) 0 : 오른쪽 1 : 왼쪽 2 : 위 3 : 아래 */ int dr[4] = {0,0,-1,1}; //0-based int dc[4] = {1,-..