[๋ฐฑ์ค€/C++] 1766๋ฒˆ ๋ฌธ์ œ์ง‘

2022. 7. 21. 11:12ยทPS/C++
728x90
๋ฐ˜์‘ํ˜•

๋ฐฑ์ค€


๐Ÿค”๋ฌธ์ œ ์ดํ•ด

๋จผ์ € ํ‘ธ๋Š” ๊ฒŒ ์ข‹์€ ๋ฌธ์ œ๋Š” ๋จผ์ € ํ’€์–ด์ฃผ๋˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์€ ๋ฌธ์ œ๋ฅผ ๋” ์šฐ์„ ์ ์œผ๋กœ ํ’€๋ฉด ๋œ๋‹ค. ์ถœ๋ ฅ์œผ๋กœ๋Š” ๋ฌธ์ œ ํ‘ธ๋Š” ์ˆœ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค.


๐Ÿ’ก์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด

๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ๋ชจ๋‘ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ฃผ๊ณ , ๋‚˜๋จธ์ง€ ๋ฌธ์ œ๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. 

 

โŒ์ฒซ๋ฒˆ์งธ ์ œ์ถœ

์ œ๋Œ€๋กœ ํ’€์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ , ์ถœ๋ ฅ ๊ฐ’๋„ ์ž˜ ๋‚˜์™”๋‹ค.๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์ฝ์–ด๋ณด๊ณ  ๋ฐ˜๋ก€๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์— "๊ฐ€๋Šฅํ•˜๋ฉด ์‰ฌ์šด ๋ฌธ์ œ๋ถ€ํ„ฐ"๋ผ๋Š” ์กฐ๊ฑด์„ ๋น ๋œจ๋ ธ์—ˆ๋‹ค..!


๐Ÿ’ก๋‘๋ฒˆ์งธ ์•„์ด๋””์–ด

๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๋ฌธ์ œ์˜ in_degree๋„ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์„œ ๊ฐ€๋Šฅํ•˜๋ฉด ์‰ฌ์šด ๋ฌธ์ œ๋“ค๋ถ€ํ„ฐ ์ถœ๋ ฅ๋˜๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค .

 

๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ

์œ„์ƒ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์˜€๋‹ค.

์šฐ์„ ์ˆœ์œ„ํ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ in_degree๊ฐ€ 0์ธ ๋ฌธ์ œ ๋จผ์ € ์ถœ๋ ฅํ•ด์ฃผ๊ณ ,

๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๊ทธ ๋‹ค์Œ ๋ฌธ์ œ์˜ in_degree์˜ ๊ฐ’์„ -1ํ•ด์คฌ์„ ๋•Œ ๊ทธ ๊ฐ’์ด 0์ด๋ผ๋ฉด ํ์— pushํ•ด์ค€๋‹ค.

ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ฃผ๋ฉด ๋!

 

 

โŒํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ์ฝ๊ณ , ์—ฌ๋Ÿฌ ์ƒํ™ฉ์— ์กฐ๊ฑด์„ ์ ์šฉํ•ด๋ณด๋ฉฐ ์ดํ•ดํ•ด ๋ด์•ผ๊ฒ ๋‹ค.


#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int n, m;
int in_degree[33000];
vector<vector<int>> v;
priority_queue<int> q;

int main() {
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios::sync_with_stdio(false);

    cin >> n >> m;
    v.resize(n + 2);
    int a, b;

    for (int i = 0; i < m; i++) {
        cin >> a >> b;
        v[a].push_back(b);
        in_degree[b]++;
    }

    for (int i = 1; i <= n; i++) {
        if (in_degree[i] == 0) {
            q.push(-i);
        }
    }

    while (!q.empty()) {
        int num = -q.top();
        q.pop();
        cout << num << " ";

        for (int next: v[num]) {
            if (--in_degree[next] == 0) {
                q.push(-next);
            }
        }
    }
}
728x90
๋ฐ˜์‘ํ˜•

'PS > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/C++] 1043๋ฒˆ ๊ฑฐ์ง“๋ง  (0) 2022.07.26
[๋ฐฑ์ค€/C++] 17143๋ฒˆ ๋‚š์‹œ์™•  (0) 2022.07.26
[๋ฐฑ์ค€/C++] 13398๋ฒˆ ์—ฐ์†ํ•ฉ 2  (0) 2022.07.20
[๋ฐฑ์ค€/C++] 11054๋ฒˆ ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด  (0) 2022.07.20
[๋ฐฑ์ค€/C++] 11053๋ฒˆ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด  (0) 2022.07.20
'PS/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/C++] 1043๋ฒˆ ๊ฑฐ์ง“๋ง
  • [๋ฐฑ์ค€/C++] 17143๋ฒˆ ๋‚š์‹œ์™•
  • [๋ฐฑ์ค€/C++] 13398๋ฒˆ ์—ฐ์†ํ•ฉ 2
  • [๋ฐฑ์ค€/C++] 11054๋ฒˆ ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (170)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • Develop (1)
        • Spring (9)
        • Java (12)
        • Python (0)
        • Algorithm (0)
        • ๊ธฐํƒ€ (0)
      • PS (39)
        • C++ (39)
        • Java (0)
      • TIL (61)
      • Book (39)
        • ์ž๋ฐ”์˜ ์‹  (32)
        • ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด (7)
      • ETC (4)
        • Blog (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํด๋ผ์šฐ๋“œ ํ™œ์šฉ ๋„คํŠธ์›Œํฌ ์—”์ง€๋‹ˆ์–ด ๋ถ€ํŠธ์บ ํ”„
    Java
    EC2
    boj
    ์ž๋ฐ”์˜ ์‹ 
    1์ผ1๋ฐฑ์ค€
    ์Šคํ„ฐ๋””
    ์Šคํ”„๋ง ์ž…๋ฌธ
    ์—์Šค๋„ท์‹œ์Šคํ…œ
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์—์Šค๋„ท์‹œ์Šคํ…œ ๋ถ€ํŠธ์บ ํ”„
    C++
    TiL
    GodOfJava
    aws
    ๋ฉ€ํ‹ฐ์บ ํผ์Šคit๋ถ€ํŠธ์บ ํ”„
    ์ž๋ฐ”
    ๋ฐฑ์ค€
    ๊ฐ์ฒด์ง€ํ–ฅ
    ๋ถ€ํŠธ์บ ํ”„ํ›„๊ธฐ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • 250x250
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
yulee_to
[๋ฐฑ์ค€/C++] 1766๋ฒˆ ๋ฌธ์ œ์ง‘
์ƒ๋‹จ์œผ๋กœ

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