From 9086500febbb69637a7faa23e83086515dd81e84 Mon Sep 17 00:00:00 2001 From: heerucan Date: Sun, 27 Mar 2022 18:59:53 +0900 Subject: [PATCH] =?UTF-8?q?[Add]=20=EC=82=AC=EC=9D=B4=ED=81=B4=20=ED=8C=90?= =?UTF-8?q?=EB=B3=84=20=EC=95=8C=EA=B3=A0=EB=A6=AC=EC=A6=98=20(#8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...14\352\263\240\353\246\254\354\246\230.py" | 37 +++++++++++++++++++ ...14\352\263\240\353\246\254\354\246\230.py" | 0 ...14\352\263\240\353\246\254\354\246\230.py" | 0 3 files changed, 37 insertions(+) create mode 100644 "CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\202\254\354\235\264\355\201\264\355\214\220\353\263\204\354\225\214\352\263\240\353\246\254\354\246\230.py" create mode 100644 "CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\234\204\354\203\201\354\240\225\353\240\254\354\225\214\352\263\240\353\246\254\354\246\230.py" create mode 100644 "CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\355\201\254\353\243\250\354\212\244\354\271\274\354\225\214\352\263\240\353\246\254\354\246\230.py" diff --git "a/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\202\254\354\235\264\355\201\264\355\214\220\353\263\204\354\225\214\352\263\240\353\246\254\354\246\230.py" "b/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\202\254\354\235\264\355\201\264\355\214\220\353\263\204\354\225\214\352\263\240\353\246\254\354\246\230.py" new file mode 100644 index 0000000..0e1897e --- /dev/null +++ "b/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\202\254\354\235\264\355\201\264\355\214\220\353\263\204\354\225\214\352\263\240\353\246\254\354\246\230.py" @@ -0,0 +1,37 @@ +def find_parent(parent, x): + if parent[x] != x: + parent[x] = find_parent(parent, parent[x]) + return parent[x] + +# 두 원소가 속한 집합을 합치기 +def union_parent(parent, a, b): + a = find_parent(parent, a) + b = find_parent(parent, b) + if a < b: + parent[b] = a + else: + parent[a] = b + +# 노드와 간선 개수 입력받기 +v, e = map(int, input().split()) +parent = [0]*(v+1) #부모 테이블 초기화 + +# 부모 테이블 상에서, 부모를 자기 자신으로 초기화 +for i in range(1, v+1): + parent[i] = i + +cycle = False + +for i in range(e): + a, b = map(int, input().split()) + # 사이클이 발생한 경우 종료 + if find_parent(parent, a) == find_parent(parent, b): + cycle = True + break + else: + union_parent(parent, a, b) + + if cycle: + print("사이클이 발생했다.") + else: + print("사이클이 발생하지 않았다.") \ No newline at end of file diff --git "a/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\234\204\354\203\201\354\240\225\353\240\254\354\225\214\352\263\240\353\246\254\354\246\230.py" "b/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\354\234\204\354\203\201\354\240\225\353\240\254\354\225\214\352\263\240\353\246\254\354\246\230.py" new file mode 100644 index 0000000..e69de29 diff --git "a/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\355\201\254\353\243\250\354\212\244\354\271\274\354\225\214\352\263\240\353\246\254\354\246\230.py" "b/CodingTest/CH10 \352\267\270\353\236\230\355\224\204 \354\235\264\353\241\240/\355\201\254\353\243\250\354\212\244\354\271\274\354\225\214\352\263\240\353\246\254\354\246\230.py" new file mode 100644 index 0000000..e69de29