提出 #25857657
ソースコード 拡げる
# -*- coding: utf-8 -*-
"""
012 - Red Painting(★4)
https://atcoder.jp/contests/typical90/tasks/typical90_l
"""
import sys
class DisjointSet(object):
def __init__(self, n):
self.rank = [0] * n
self.p = list(range(n))
self.size = [1] * n
def same(self, x, y):
return self.findSet(x) == self.findSet(y)
def unite(self, x, y):
self.link(self.findSet(x), self.findSet(y))
def link(self, x, y):
if self.rank[x] > self.rank[y]:
self.size[self.p[x]] += self.size[self.p[y]]
self.p[y] = self.findSet(x)
else:
self.size[self.p[y]] += self.size[self.p[x]]
self.p[x] = self.findSet(y)
if self.rank[x] == self.rank[y]:
self.rank[y] += 1
def findSet(self, x):
if x != self.p[x]:
self.p[x] = self.findSet(self.p[x])
return self.p[x]
def solve(H, W):
d = DisjointSet(H * W)
Q = int(input())
reds = set()
for _ in range(Q):
cmd, *others = input().split()
if cmd == '1':
r, c = map(int, others)
r, c, = r-1, c-1
reds.add((r, c))
for nr, nc in ((r-1, c), (r+1, c), (r, c-1), (r, c+1)):
if (nr, nc) in reds:
d.unite(r*W+c, nr*W+nc)
else:
ra, ca, rb, cb = map(int, others)
ra, ca, rb, cb = ra-1, ca-1, rb-1, cb-1
res = d.same(ra*W+ca, rb*W+cb) if (ra, ca) in reds and (rb, cb) in reds else False
print('Yes' if res else 'No')
def main(args):
H, W = map(int, input().split())
solve(H, W)
if __name__ == '__main__':
main(sys.argv[1:])
提出情報
| 提出日時 |
|
| 問題 |
012 - Red Painting(★4) |
| ユーザ |
kichi |
| 言語 |
Python (3.8.2) |
| 得点 |
4 |
| コード長 |
1759 Byte |
| 結果 |
AC |
| 実行時間 |
885 ms |
| メモリ |
240436 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
4 / 4 |
| 結果 |
|
|
| セット名 |
テストケース |
| 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 |
| ケース名 |
結果 |
実行時間 |
メモリ |
| sample_01.txt |
AC |
19 ms |
9144 KiB |
| sample_02.txt |
AC |
20 ms |
9128 KiB |
| sample_03.txt |
AC |
21 ms |
9116 KiB |
| subtask_1_01.txt |
AC |
514 ms |
9212 KiB |
| subtask_1_02.txt |
AC |
250 ms |
58732 KiB |
| subtask_1_03.txt |
AC |
345 ms |
54888 KiB |
| subtask_1_04.txt |
AC |
576 ms |
145112 KiB |
| subtask_1_05.txt |
AC |
400 ms |
39284 KiB |
| subtask_1_06.txt |
AC |
173 ms |
9276 KiB |
| subtask_1_07.txt |
AC |
634 ms |
28856 KiB |
| subtask_1_08.txt |
AC |
538 ms |
78740 KiB |
| subtask_1_09.txt |
AC |
208 ms |
33424 KiB |
| subtask_1_10.txt |
AC |
313 ms |
19712 KiB |
| subtask_1_11.txt |
AC |
219 ms |
74912 KiB |
| subtask_1_12.txt |
AC |
70 ms |
24604 KiB |
| subtask_1_13.txt |
AC |
211 ms |
39076 KiB |
| subtask_1_14.txt |
AC |
285 ms |
26444 KiB |
| subtask_1_15.txt |
AC |
476 ms |
94804 KiB |
| subtask_1_16.txt |
AC |
452 ms |
158792 KiB |
| subtask_1_17.txt |
AC |
563 ms |
98188 KiB |
| subtask_1_18.txt |
AC |
97 ms |
13916 KiB |
| subtask_1_19.txt |
AC |
394 ms |
28740 KiB |
| subtask_1_20.txt |
AC |
481 ms |
48532 KiB |
| subtask_1_21.txt |
AC |
692 ms |
189636 KiB |
| subtask_1_22.txt |
AC |
126 ms |
110544 KiB |
| subtask_1_23.txt |
AC |
281 ms |
85292 KiB |
| subtask_1_24.txt |
AC |
451 ms |
86932 KiB |
| subtask_1_25.txt |
AC |
358 ms |
42268 KiB |
| subtask_1_26.txt |
AC |
82 ms |
36324 KiB |
| subtask_1_27.txt |
AC |
474 ms |
18272 KiB |
| subtask_1_28.txt |
AC |
549 ms |
17324 KiB |
| subtask_1_29.txt |
AC |
535 ms |
17384 KiB |
| subtask_1_30.txt |
AC |
559 ms |
17924 KiB |
| subtask_1_31.txt |
AC |
485 ms |
14808 KiB |
| subtask_1_32.txt |
AC |
597 ms |
18668 KiB |
| subtask_1_33.txt |
AC |
668 ms |
20236 KiB |
| subtask_1_34.txt |
AC |
829 ms |
240436 KiB |
| subtask_1_35.txt |
AC |
839 ms |
233160 KiB |
| subtask_1_36.txt |
AC |
885 ms |
234272 KiB |
| subtask_1_37.txt |
AC |
801 ms |
230416 KiB |
| subtask_1_38.txt |
AC |
789 ms |
229956 KiB |
| subtask_1_39.txt |
AC |
847 ms |
234292 KiB |
| subtask_1_40.txt |
AC |
872 ms |
235112 KiB |