Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- const
- GeeksForGeeks
- 2294
- UnrealEngine4
- 팰린드롬 만들기
- NRVO
- RVO
- 티스토리챌린지
- IFileDialog
- DirectX11
- UnrealEngine5
- winapi
- algorithm
- softeer
- RootMotion
- 프로그래머스
- Frustum
- 오블완
- directx
- 1563
- UE5
- 줄 세우기
- C
- 언리얼엔진5
- Unreal Engine5
- C++
- baekjoon
- DeferredRendering
- Programmers
- 백준
Archives
- Today
- Total
Game Develop
[Algorithm]Baekjoon 1766번 : 문제집 본문
https://www.acmicpc.net/problem/1766
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
using namespace std;
int n, m, a, b;
vector<vector<int>> graph(32001);
priority_queue<int, vector<int>, greater<int>> pq;
int inDegrees[32001] = { 0 };
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> m;
for (int i = 0; i < m; ++i)
{
cin >> a >> b;
graph[a].push_back(b);
++inDegrees[b];
}
for (int i = 1; i <= n; ++i)
{
if (inDegrees[i] == 0)
{
pq.push(i);
}
}
vector<int> answer;
while (!pq.empty())
{
int curNum = pq.top();
pq.pop();
answer.push_back(curNum);
for (int i = 0; i < graph[curNum].size(); ++i)
{
int child = graph[curNum][i];
--inDegrees[child];
if (inDegrees[child] == 0)
{
pq.push(child);
}
}
}
for (int temp : answer)
{
cout << temp << ' ';
}
}
|
cs |
그냥 위상정렬 기본문제에서 아주 살짝만 바꾼 문제이다.
처음에 문제설명만 보고 다중상속이 아닌 리니어한 상속관곈줄 알고 코드를 작성했는데, 실패하고나서 보니 다중상속관계였다.
사실 리니어한 관계였으면 골드2일리가 없긴했다..
기본적으로 순서에 맞게 문제푸는순서를 출력하면 되는데, 대신 이문제에서는 선택할 수 있는 문제가 여러개일 때, 가장 낮은번호의 문제를 선택해야하기 때문에 그것만 코드로 작성해주면 된다. 나는 우선순위큐에 담아서 편하게 풀었다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[Algorithm]Baekjoon 17386번 : 선분 교차 1 (1) | 2024.02.10 |
---|---|
[Algorithm]Baekjoon 2143번 : 두 배열의 합 (2) | 2024.02.04 |
[Algorithm]Baekjoon 1647 :: 도시 분할 계획 (1) | 2024.01.31 |
[Algorithm]Baekjoon 1644 :: 소수의 연속합 (1) | 2024.01.30 |
[Algorithm]Baekjoon 1208 :: 부분수열의 합 2 (1) | 2024.01.29 |