[๋ฐฑ์ค€] 1766 ๋ฌธ์ œ์ง‘ - ์œ„์ƒ์ •๋ ฌ, ์šฐ์„ ์ˆœ์œ„ ํ

2024. 8. 4. 02:02ยท๐Ÿ’ป Algorithms/๋ฐฑ์ค€

[ ๋ฌธ์ œ๋งํฌ ]

https://www.acmicpc.net/problem/1766

 

๐Ÿšฉ ์กฐ๊ฑด

  1. ๊ฐ€๋Šฅํ•˜๋ฉด ์‰ฌ์šด ๋ฌธ์ œ๋ถ€ํ„ฐ ํ’€์–ด์•ผ ํ•œ๋‹ค.
  2. ๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ๋Š”, ๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ๋ฅผ ๋ฐ˜๋“œ์‹œ ๋จผ์ € ํ’€์–ด์•ผ ํ•œ๋‹ค.

 

 

๐Ÿšฉ ์ ‘๊ทผ

1 -> ์šฐ์„ ์ˆœ์œ„ ํ (์ตœ์†Œ ํž™์œผ๋กœ ์“ฐ๋ ค๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์„ ์–ธ)

priority_queue<int, vector<int>, greater<int>> qu;

2 -> ์œ„์ƒ์ •๋ ฌ

 

 

๐Ÿ’ป ์ฝ”๋“œ (C++)

#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;

int indegree[32001];
priority_queue<int, vector<int>, greater<int>> qu;
vector<int> adj[32001];
vector<int> ans;
int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    int N, M, A, B;

    cin >> N >> M;
    for (int i = 0; i < M; i++) {
        cin >> A >> B;
        indegree[B]++;
        adj[A].push_back(B);
    }

    for (int i = 1; i <= N; i++) {
        if (indegree[i] == 0)
        qu.push(i);
    }

	while (!qu.empty()) {
 		int size = adj[qu.top()].size();
		int top = qu.top();
		ans.push_back(qu.top());
		if (!qu.empty())qu.pop();
        if (size != 0) {
            for (int j = 0; j < size; j++) {
                indegree[adj[top][j]]--;
                if (indegree[adj[top][j]] == 0) {
                	qu.push(adj[top][j]);
                    }
                }
            }
        }

    for (int i = 0; i < ans.size(); i++) {
    	cout << ans[i] << " ";
    }
}

'๐Ÿ’ป Algorithms > ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ ์ฐพ๊ธฐ - ๊ทธ๋ž˜ํ”„, DFS  (0) 2024.08.17
[๋ฐฑ์ค€] 1927 ์ตœ์†Œ ํž™ - ์šฐ์„ ์ˆœ์œ„ ํ  (0) 2024.08.14
[๋ฐฑ์ค€] 11780 ํ”Œ๋กœ์ด๋“œ2 - ํ”Œ๋กœ์ด๋“œ ๊ฒฝ๋กœ๋ณต์›  (0) 2024.08.04
[๋ฐฑ์ค€] 11404 ํ”Œ๋กœ์ด๋“œ - ํ”Œ๋กœ์ด๋“œ  (0) 2024.08.04
[๋ฐฑ์ค€] 16398 ํ–‰์„ฑ์—ฐ๊ฒฐ - MST, ์šฐ์„ ์ˆœ์œ„ ํ  (0) 2024.08.04
'๐Ÿ’ป Algorithms/๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 1927 ์ตœ์†Œ ํž™ - ์šฐ์„ ์ˆœ์œ„ ํ
  • [๋ฐฑ์ค€] 11780 ํ”Œ๋กœ์ด๋“œ2 - ํ”Œ๋กœ์ด๋“œ ๊ฒฝ๋กœ๋ณต์›
  • [๋ฐฑ์ค€] 11404 ํ”Œ๋กœ์ด๋“œ - ํ”Œ๋กœ์ด๋“œ
  • [๋ฐฑ์ค€] 16398 ํ–‰์„ฑ์—ฐ๊ฒฐ - MST, ์šฐ์„ ์ˆœ์œ„ ํ
์ ๋„
์ ๋„
  • ์ ๋„
    ๋„์ 
    ์ ๋„
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (30)
      • ๐Ÿ’ป Algorithms (28)
        • ๋ฐฑ์ค€ (22)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
      • ๐Ÿ”Ž Deep Learning (0)
      • ๐Ÿ’ฅ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… (1)
      • ๐Ÿ•น Unity (1)
      • ๐Ÿฅ” ์ž‰ํ…… (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • Blog
    • Github
    • Velog
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
์ ๋„
[๋ฐฑ์ค€] 1766 ๋ฌธ์ œ์ง‘ - ์œ„์ƒ์ •๋ ฌ, ์šฐ์„ ์ˆœ์œ„ ํ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”