From d526dfb2e79652d8bf49494be4f9cbc1d17742ea Mon Sep 17 00:00:00 2001 From: Gwangseok Han <66068653+c0natus@users.noreply.github.com> Date: Wed, 2 Apr 2025 23:04:28 +0900 Subject: [PATCH 1/2] Create 4195 gwangsk.py --- BaekJoon/4195/gwangsk.py | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 BaekJoon/4195/gwangsk.py diff --git a/BaekJoon/4195/gwangsk.py b/BaekJoon/4195/gwangsk.py new file mode 100644 index 0000000..6756608 --- /dev/null +++ b/BaekJoon/4195/gwangsk.py @@ -0,0 +1,41 @@ +import sys +input = sys.stdin.readline + +from collections import defaultdict + + +def find(root, p1): + if root[p1] == p1: + return p1 + return find(root, root[p1]) + + +def union(network, root, p1, p2): + p1 = find(root, p1) + p2 = find(root, p2) + + if p1 > p2: + root[p1] = p2 + network[p2] += network[p1] + del network[p1] + print(network[p2]) + elif p1 == p2: + print(network[p1]) + else: + root[p2] = p1 + network[p1] += network[p2] + del network[p2] + print(network[p1]) + + + +for _ in range(int(input())): + network = defaultdict(lambda : 1) + root = {} + for _ in range(int(input())): + p1, p2 = input().split() + + if p1 not in root: root[p1] = p1 + if p2 not in root: root[p2] = p2 + + union(network, root, p1, p2) From c3ce3d4f4ceb139ff80d19e72d671e7187b747db Mon Sep 17 00:00:00 2001 From: Gwangseok Han <66068653+c0natus@users.noreply.github.com> Date: Wed, 2 Apr 2025 23:04:51 +0900 Subject: [PATCH 2/2] Create 4195 gwangseok.py --- BaekJoon/4195/{gwangsk.py => gwangseok.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename BaekJoon/4195/{gwangsk.py => gwangseok.py} (100%) diff --git a/BaekJoon/4195/gwangsk.py b/BaekJoon/4195/gwangseok.py similarity index 100% rename from BaekJoon/4195/gwangsk.py rename to BaekJoon/4195/gwangseok.py