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 |
|
|
| 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 |