[๋ฐฑ์ค€/C++] 20040๋ฒˆ ์‚ฌ์ดํด ๊ฒŒ์ž„

2022. 11. 3. 21:48ยทPS/C++
728x90

๋ฐฑ์ค€


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

์„ ๋ถ„์„ ๊ธ‹๋‹ค๊ฐ€ ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ•˜๋Š” ์ง€์ ์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ ์˜ ์œ„์น˜๋ฅผ ์ •ํ™•ํžˆ ๋ชฐ๋ผ๋„ ์„ ๋ถ„์œผ๋กœ ์ด์–ด์ ธ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.


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

Find-Union ๋ฌธ์ œ๋กœ ๋‘ ์ ์„ ์ด์–ด์ค„ ๋•Œ๋งˆ๋‹ค ๊ทธ ์ ๋“ค์˜ ์ง‘ํ•ฉ์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ฐฑ์‹ ํ•ด์ค€๋‹ค. 

๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์–ด๋–ค ๋‘ ์ ์„ ์ด์„ ๋•Œ ํ•œ ์ ์˜ ์ง‘ํ•ฉ๊ณผ ๋‹ค๋ฅธ ํ•œ ์ ์˜ ์ง‘ํ•ฉ์˜ ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์€ ์ด๋ฏธ ์–ด๋– ํ•œ ๊ฒฝ๋กœ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋˜ ์„ ๋ถ„์„ ๊ทธ์–ด์ฃผ๋Š” ๊ฒƒ ์ฆ‰, ์‚ฌ์ดํด์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ ๋•Œ์˜ ์ฐจ๋ก€ ๋ฒˆํ˜ธ๋ฅผ ans ๋ณ€์ˆ˜์— ์ €์žฅํ•ด๋‘”๋‹ค. 

m๋ฒˆ๊นŒ์ง€์˜ ์ฐจ๋ก€๋Š” ๋ชจ๋‘ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— flag๋ฅผ ํ†ตํ•ด ans๋ฅผ ๊ตฌํ•œ ๊ฒฝ์šฐ์—” ๋‘ ์ ์„ ์ž…๋ ฅ๋ฐ›๊ธฐ๋งŒ ํ•˜๊ณ  ์ด์™ธ์˜ ์—ฐ์‚ฐ์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ans๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 


#include <iostream>

using namespace std;

int n, m, x, y;
int par[500002];
int ans;

int Find(int a) {
    if (par[a] == a)
        return a;

    return par[a] = Find(par[a]);
}

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

    cin >> n >> m;
    for (int i = 0; i < n; i++) {
        par[i] = i;
    }
    int flag = 1;
    for (int i = 0; i < m; i++) {
        cin >> x >> y;
        if (flag) {
            int par_x = Find(x);
            int par_y = Find(y);
            if (par_x == par_y) {
                ans = i + 1;
                flag = 0;
            } else {
                par[par_y] = par_x;
            }
        }
    }
    cout << ans;
}
728x90

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

[๋ฐฑ์ค€/C++] 11656๋ฒˆ ์ ‘๋ฏธ์‚ฌ ๋ฐฐ์—ด  (0) 2022.11.14
[๋ฐฑ์ค€/C++] 17396๋ฒˆ ๋ฐฑ๋„์–ด  (0) 2022.11.11
[๋ฐฑ์ค€/C++] 17404๋ฒˆ RGB๊ฑฐ๋ฆฌ 2  (0) 2022.11.02
[๋ฐฑ์ค€/C++] 4889๋ฒˆ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด  (0) 2022.10.27
[๋ฐฑ์ค€/C++] 21610๋ฒˆ ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ๋น„๋ฐ”๋ผ๊ธฐ  (0) 2022.10.06
'PS/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/C++] 11656๋ฒˆ ์ ‘๋ฏธ์‚ฌ ๋ฐฐ์—ด
  • [๋ฐฑ์ค€/C++] 17396๋ฒˆ ๋ฐฑ๋„์–ด
  • [๋ฐฑ์ค€/C++] 17404๋ฒˆ RGB๊ฑฐ๋ฆฌ 2
  • [๋ฐฑ์ค€/C++] 4889๋ฒˆ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (135) N
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • Develop (21)
        • Spring (9)
        • Java (12)
        • Python (0)
        • Algorithm (0)
        • ๊ธฐํƒ€ (0)
      • PS (39)
        • C++ (39)
        • Java (0)
      • TIL (28) N
      • Book (39)
        • ์ž๋ฐ”์˜ ์‹  (32)
        • ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด (7)
      • ETC (4)
        • Blog (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
yulee_to
[๋ฐฑ์ค€/C++] 20040๋ฒˆ ์‚ฌ์ดํด ๊ฒŒ์ž„
์ƒ๋‹จ์œผ๋กœ

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