Submission #70033280


Source Code Expand

class UnionFind():
    def __init__(self, n=1):
        self.par = [i for i in range(n)]
        self.rank = [0 for _ in range(n)]
        self.size = [1 for _ in range(n)]

    def find(self, x):
        if self.par[x] == x:
            return x
        else:
            self.par[x] = self.find(self.par[x])
            return self.par[x]

    def union(self, x, y):
        x = self.find(x)
        y = self.find(y)
        if x != y:
            if self.rank[x] < self.rank[y]:
                x, y = y, x
            if self.rank[x] == self.rank[y]:
                self.rank[x] += 1
            self.par[y] = x
            self.size[x] += self.size[y]

    def is_same(self, x, y):
        return self.find(x) == self.find(y)

    def get_size(self, x):
        x = self.find(x)
        return self.size[x]


N, M = map(int, input().split())
Edge = []
for _ in range(M):
    u, v = map(int, input().split())
    u, v = u - 1, v - 1
    Edge.append((u, v))

N2 = 1 << N
ans = 10 ** 18
for s in range(N2):
    U = UnionFind(N)
    cnt = 0
    seen = [0] * N
    for i in range(N):
        if (s >> i) & 1:
            seen[i] = 1

    for u, v in Edge:
        if seen[u] == seen[v]:
            cnt += 1

    ans = min(ans, cnt)

print(ans)

Submission Info

Submission Time
Task C - Bipartize
User rlangevin
Language Python (PyPy 3.10-v7.3.12)
Score 350
Code Size 1300 Byte
Status AC
Exec Time 76 ms
Memory 82436 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 350 / 350
Status
AC × 3
AC × 25
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 58 ms 76360 KiB
00_sample_01.txt AC 58 ms 76808 KiB
00_sample_02.txt AC 72 ms 82120 KiB
01_random_03.txt AC 58 ms 76400 KiB
01_random_04.txt AC 70 ms 82296 KiB
01_random_05.txt AC 58 ms 76556 KiB
01_random_06.txt AC 58 ms 76348 KiB
01_random_07.txt AC 70 ms 81796 KiB
01_random_08.txt AC 72 ms 81952 KiB
01_random_09.txt AC 76 ms 82024 KiB
01_random_10.txt AC 76 ms 82056 KiB
01_random_11.txt AC 72 ms 82436 KiB
01_random_12.txt AC 72 ms 82120 KiB
01_random_13.txt AC 71 ms 81924 KiB
01_random_14.txt AC 70 ms 81784 KiB
01_random_15.txt AC 70 ms 82296 KiB
01_random_16.txt AC 71 ms 82112 KiB
01_random_17.txt AC 59 ms 76420 KiB
01_random_18.txt AC 59 ms 76720 KiB
01_random_19.txt AC 60 ms 76632 KiB
01_random_20.txt AC 62 ms 80900 KiB
01_random_21.txt AC 58 ms 76460 KiB
01_random_22.txt AC 59 ms 76496 KiB
01_random_23.txt AC 59 ms 76348 KiB
01_random_24.txt AC 58 ms 76360 KiB