Submission #22099849


Source Code Expand

import sys

input = sys.stdin.readline


class union_find:
    def __init__(self, n):
        self.__parent_or_size = [-1] * n

    def find(self, x):
        if self.__parent_or_size[x] < 0:
            return x
        else:
            self.__parent_or_size[x] = self.find(self.__parent_or_size[x])
            return self.__parent_or_size[x]

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

    def size(self, x):
        return -self.__parent_or_size[self.find(x)]

    def union(self, x, y):
        x = self.find(x)
        y = self.find(y)
        if x == y:
            return False
        if self.size(x) < self.size(y):
            x, y = y, x
        self.__parent_or_size[x] += self.__parent_or_size[y]
        self.__parent_or_size[y] = x
        return True


def main():
    h, w = map(int, input().split())
    uf = union_find(h * w)
    painted = [False for _ in range(h * w)]
    adj = ((0, 1), (1, 0), (0, -1), (-1, 0))
    q = int(input())
    for _ in range(q):
        t, *a = [int(i) - 1 for i in input().split()]
        if t == 0:
            i, j = a
            painted[i * w + j] = True
            for di, dj in adj:
                ti = i + di
                tj = j + dj
                if 0 <= ti < h and 0 <= tj < w and painted[ti * w + tj]:
                    uf.union(i * w + j, ti * w + tj)
        else:
            i1, j1, i2, j2 = a
            print("Yes" if painted[i1 * w + j1]
                  and uf.same(i1 * w + j1, i2 * w + j2) else "No")


if __name__ == "__main__":
    main()

Submission Info

Submission Time
Task 012 - Red Painting(★4)
User riantkb
Language Python (3.8.2)
Score 4
Code Size 1553 Byte
Status AC
Exec Time 482 ms
Memory 71728 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 4 / 4
Status
AC × 3
AC × 43
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt
Case Name Status Exec Time Memory
sample_01.txt AC 19 ms 9020 KiB
sample_02.txt AC 22 ms 8980 KiB
sample_03.txt AC 23 ms 9020 KiB
subtask_1_01.txt AC 210 ms 9284 KiB
subtask_1_02.txt AC 145 ms 22904 KiB
subtask_1_03.txt AC 154 ms 22220 KiB
subtask_1_04.txt AC 300 ms 46532 KiB
subtask_1_05.txt AC 218 ms 16516 KiB
subtask_1_06.txt AC 83 ms 9252 KiB
subtask_1_07.txt AC 386 ms 12876 KiB
subtask_1_08.txt AC 275 ms 27908 KiB
subtask_1_09.txt AC 101 ms 16132 KiB
subtask_1_10.txt AC 153 ms 11972 KiB
subtask_1_11.txt AC 113 ms 27700 KiB
subtask_1_12.txt AC 50 ms 13608 KiB
subtask_1_13.txt AC 127 ms 17260 KiB
subtask_1_14.txt AC 189 ms 12952 KiB
subtask_1_15.txt AC 234 ms 33044 KiB
subtask_1_16.txt AC 211 ms 51332 KiB
subtask_1_17.txt AC 354 ms 32512 KiB
subtask_1_18.txt AC 71 ms 10144 KiB
subtask_1_19.txt AC 262 ms 13220 KiB
subtask_1_20.txt AC 222 ms 20020 KiB
subtask_1_21.txt AC 364 ms 58764 KiB
subtask_1_22.txt AC 99 ms 37892 KiB
subtask_1_23.txt AC 143 ms 30432 KiB
subtask_1_24.txt AC 254 ms 30192 KiB
subtask_1_25.txt AC 157 ms 18784 KiB
subtask_1_26.txt AC 56 ms 16984 KiB
subtask_1_27.txt AC 275 ms 10364 KiB
subtask_1_28.txt AC 283 ms 10540 KiB
subtask_1_29.txt AC 268 ms 10464 KiB
subtask_1_30.txt AC 307 ms 10472 KiB
subtask_1_31.txt AC 207 ms 10460 KiB
subtask_1_32.txt AC 340 ms 10448 KiB
subtask_1_33.txt AC 411 ms 10760 KiB
subtask_1_34.txt AC 482 ms 71648 KiB
subtask_1_35.txt AC 400 ms 71728 KiB
subtask_1_36.txt AC 444 ms 71660 KiB
subtask_1_37.txt AC 364 ms 71544 KiB
subtask_1_38.txt AC 347 ms 71568 KiB
subtask_1_39.txt AC 428 ms 71540 KiB
subtask_1_40.txt AC 441 ms 71708 KiB