[๋ฐฑ์ค€] 1717. ์ง‘ํ•ฉ์˜ ํ‘œํ˜„/Python - Gold5

2025. 8. 17. 18:22ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 77876 KB, ์‹œ๊ฐ„: 284 ms

๋ถ„๋ฅ˜

์ž๋ฃŒ ๊ตฌ์กฐ, ๋ถ„๋ฆฌ ์ง‘ํ•ฉ

๋ฌธ์ œ ์„ค๋ช…

์ดˆ๊ธฐ์— n+1n+1๊ฐœ์˜ ์ง‘ํ•ฉ {0},{1},{2},…,{n}{0},{1},{2},…,{n}์ด ์žˆ๋‹ค. ์—ฌ๊ธฐ์— ํ•ฉ์ง‘ํ•ฉ ์—ฐ์‚ฐ๊ณผ, ๋‘ ์›์†Œ๊ฐ€ ๊ฐ™์€ ์ง‘ํ•ฉ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โœ๐Ÿปํ’€์ด

https://yoongrammer.tistory.com/102

 

์„œ๋กœ์†Œ ์ง‘ํ•ฉ(Disjoint Set) & ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ(Union find)

๋ชฉ์ฐจ์„œ๋กœ์†Œ ์ง‘ํ•ฉ(Disjoint Set) & ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ(Union find)์„œ๋กœ์†Œ ์ง‘ํ•ฉ(Disjoint Set)Disjoint Set(์„œ๋กœ์†Œ ์ง‘ํ•ฉ, ๋ถ„๋ฆฌ ์ง‘ํ•ฉ)์ด๋ž€ ์„œ๋กœ ๊ณตํ†ต๋œ ์›์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ง‘ํ•ฉ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. Disjoint s

yoongrammer.tistory.com

์œ„ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys

input = sys.stdin.readline
sys.setrecursionlimit(10**6)

n, m = map(int, input().split())
parent = [i for i in range(n + 1)]


def find(x):
    if parent[x] != x:
        parent[x] = find(parent[x])
    return parent[x]


def union(a, b):
    a, b = find(a), find(b)
    if a > b:
        parent[a] = b
    else:
        parent[b] = a


for _ in range(m):
    c, a, b = map(int, input().split())
    if c == 0:
        union(a, b)
    else:
        print("NO" if find(a) != find(b) else "YES")

๐Ÿ“ํ›„๊ธฐ

์ตœ๋Œ€ ๊นŠ์ด๊ฐ€ 1000์ด๋ผ์„œ ๊นŠ์ด๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ PyPy3๋Š” ๊นŠ์ด๋ฅผ ๋ฐ”๊พธ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๊ฒฐ๊ตญ Python3๋กœ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์‚ผ์„ฑ์€ PyPy3๋กœ ์ฑ„์ ํ•˜๋Š” ๋ฐ ๊ทธ๋Ÿผ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ...

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 1197. ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ/Python - Gold4  (1) 2025.08.16
[๋ฐฑ์ค€] 13549. ์ˆจ๋ฐ”๊ผญ์งˆ3/Python - Gold5  (0) 2025.08.15
[๋ฐฑ์ค€] 11657. ํƒ€์ž„๋จธ์‹ /Python - Gold4  (1) 2025.08.14
[๋ฐฑ์ค€] 9655. ๋Œ ๊ฒŒ์ž„/Python - Silver5  (2) 2025.08.11
[๋ฐฑ์ค€] 2630. ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ/Python - Silver2  (0) 2025.08.10
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 1197. ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ/Python - Gold4
  • [๋ฐฑ์ค€] 13549. ์ˆจ๋ฐ”๊ผญ์งˆ3/Python - Gold5
  • [๋ฐฑ์ค€] 11657. ํƒ€์ž„๋จธ์‹ /Python - Gold4
  • [๋ฐฑ์ค€] 9655. ๋Œ ๊ฒŒ์ž„/Python - Silver5
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (174)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (88)
        • Algorithms (80)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์˜ค๋ธ”์™„
    Java
    K8s
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    docker
    bfs
    ๋ฆฌ๋ˆ…์Šค
    Baekjoon
    dfs
    ์ž๋ฐ”
    Kubernetes
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    Shell
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ๋ฐฑ์ค€
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ๋„คํŠธ์›Œํฌ
    programmers
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    network
    Linux
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ๋„์ปค
    Shell Script
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 1717. ์ง‘ํ•ฉ์˜ ํ‘œํ˜„/Python - Gold5
์ƒ๋‹จ์œผ๋กœ

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