본문 바로가기

solved5

[9] [Class 5] - 2056 작업 www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 작업의 우선순위를 두어 처음에는 지나가는 시간을 1씩 올려서 하려고 했는데 그러다보니 큐에 있는 것들이 시간이 다 됐는지를 체크하는게 너무 이상한것 같아서 그만뒀고 먼저 기본 정석이 되는 위상정렬 그래프 구조에서 A를 indegree가 0이 된 작업, B를 A가 끝난 다음에 할 수 있는 작업이라고 생각하면 A가 끝났을 때, B가 걸리는 총 시간 = max(B의 총시간, A가 끝나는 시간 + B가 걸리는.. 2021. 1. 27.
[7] [Class 3] - 백준 11727 2xn 타일링 2 www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 딱 보면 알지만 단순한 동적 프로그래밍 문제입니다. 점화식을 세워서 문제를 해결해야하는데, 점화식 세우는게 어찌 이리 어려운지.. 따로 문제들 풀면서 연습을 해봐야할 것 같습니다. #include using namespace std; long long dp[1001]; int main(){ ios_base :: sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; dp[1] = 1; dp[2] .. 2021. 1. 23.
[6] [Class 3] - 백준 11724 연결 요소의 개수 www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 아까 다른 문제를 DFS로 풀어서 이건 그냥 Union find 로 풀어보았다. // https://www.acmicpc.net/problem/11724 // Connected Component // Union find 으로 해도 되고, dfs로 해도 되고.. #include using namespace std; int parent[1001]; in.. 2021. 1. 23.
[5] [Class 3] - 백준 10026 적록색약 www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 정말 간단하게 dfs로 풀었다. 맞왜틀 한걸 봤더니 인덱스 범위 비교할때 N을 안쓰고 100을.. // 10026 https://www.acmicpc.net/problem/10026 // dfs #include using namespace std; char map_[100][100]; bool jrsy[100][100]; bool notjrsy[100][100]; int N; int dx[4] = {0,.. 2021. 1. 22.