Submission #35656907
Source Code Expand
def D(N, XY):
contain = [[-1] * 20010 for _ in range(2010)]
for i, (x, y) in enumerate(XY):
contain[x+1005][y+1005] = i
dsu = [-1] * N
def leader(i):
if dsu[i] < 0: return i
dsu[i] = leader(dsu[i])
return dsu[i]
def merge(i, j):
'''サイズの大きい方(x)に小さい方(y)をマージ'''
if i == j: return
x = leader(i)
y = leader(j)
if x == y: return
if dsu[x] > dsu[y]: x, y = y, x
dsu[x] += dsu[y]
dsu[y] = x
def get_neighbors(i, j):
return (
[i-1,j-1],
[i-1,j],
[i,j-1],
[i,j+1],
[i+1,j],
[i+1,j+1],
)
for i, (x, y) in enumerate(XY):
for s, t in get_neighbors(x, y):
idx = contain[s+1005][t+1005]
if idx > -1:
merge(i, idx)
return sum(1 for n in dsu if n < 0)
# 提出用
N = int(input())
XY = [list(map(int, input().split())) for _ in range(N)]
print(D(N, XY))
Submission Info
| Submission Time | |
|---|---|
| Task | D - Do use hexagon grid |
| User | arakaki_tokyo |
| Language | PyPy3 (7.3.0) |
| Score | 400 |
| Code Size | 1153 Byte |
| Status | AC |
| Exec Time | 311 ms |
| Memory | 389120 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| 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, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 311 ms | 378260 KiB |
| sample_02.txt | AC | 233 ms | 378636 KiB |
| sample_03.txt | AC | 230 ms | 378384 KiB |
| test_01.txt | AC | 230 ms | 378464 KiB |
| test_02.txt | AC | 228 ms | 378312 KiB |
| test_03.txt | AC | 250 ms | 385432 KiB |
| test_04.txt | AC | 256 ms | 388184 KiB |
| test_05.txt | AC | 249 ms | 387004 KiB |
| test_06.txt | AC | 246 ms | 386424 KiB |
| test_07.txt | AC | 257 ms | 386640 KiB |
| test_08.txt | AC | 231 ms | 379944 KiB |
| test_09.txt | AC | 231 ms | 378356 KiB |
| test_10.txt | AC | 248 ms | 386260 KiB |
| test_11.txt | AC | 249 ms | 386276 KiB |
| test_12.txt | AC | 249 ms | 386072 KiB |
| test_13.txt | AC | 262 ms | 386736 KiB |
| test_14.txt | AC | 260 ms | 386232 KiB |
| test_15.txt | AC | 260 ms | 388220 KiB |
| test_16.txt | AC | 251 ms | 385540 KiB |
| test_17.txt | AC | 251 ms | 386548 KiB |
| test_18.txt | AC | 246 ms | 386048 KiB |
| test_19.txt | AC | 262 ms | 387276 KiB |
| test_20.txt | AC | 256 ms | 386708 KiB |
| test_21.txt | AC | 231 ms | 379836 KiB |
| test_22.txt | AC | 248 ms | 385716 KiB |
| test_23.txt | AC | 244 ms | 384888 KiB |
| test_24.txt | AC | 249 ms | 385712 KiB |
| test_25.txt | AC | 241 ms | 383172 KiB |
| test_26.txt | AC | 240 ms | 383832 KiB |
| test_27.txt | AC | 240 ms | 383200 KiB |
| test_28.txt | AC | 231 ms | 379372 KiB |
| test_29.txt | AC | 252 ms | 386624 KiB |
| test_30.txt | AC | 249 ms | 386368 KiB |
| test_31.txt | AC | 268 ms | 388312 KiB |
| test_32.txt | AC | 269 ms | 388668 KiB |
| test_33.txt | AC | 263 ms | 388416 KiB |
| test_34.txt | AC | 259 ms | 388384 KiB |
| test_35.txt | AC | 257 ms | 388320 KiB |
| test_36.txt | AC | 254 ms | 388028 KiB |
| test_37.txt | AC | 270 ms | 388388 KiB |
| test_38.txt | AC | 268 ms | 388200 KiB |
| test_39.txt | AC | 265 ms | 388460 KiB |
| test_40.txt | AC | 259 ms | 388380 KiB |
| test_41.txt | AC | 256 ms | 388052 KiB |
| test_42.txt | AC | 253 ms | 388168 KiB |
| test_43.txt | AC | 270 ms | 388684 KiB |
| test_44.txt | AC | 265 ms | 388024 KiB |
| test_45.txt | AC | 262 ms | 388424 KiB |
| test_46.txt | AC | 260 ms | 388268 KiB |
| test_47.txt | AC | 257 ms | 388276 KiB |
| test_48.txt | AC | 256 ms | 387828 KiB |
| test_49.txt | AC | 271 ms | 388172 KiB |
| test_50.txt | AC | 275 ms | 389120 KiB |
| test_51.txt | AC | 265 ms | 388052 KiB |
| test_52.txt | AC | 260 ms | 388328 KiB |
| test_53.txt | AC | 254 ms | 388068 KiB |
| test_54.txt | AC | 254 ms | 388176 KiB |
| test_55.txt | AC | 269 ms | 388340 KiB |
| test_56.txt | AC | 266 ms | 388200 KiB |
| test_57.txt | AC | 264 ms | 388324 KiB |
| test_58.txt | AC | 259 ms | 388360 KiB |
| test_59.txt | AC | 256 ms | 388188 KiB |
| test_60.txt | AC | 260 ms | 388300 KiB |
| test_61.txt | AC | 267 ms | 388192 KiB |
| test_62.txt | AC | 264 ms | 388228 KiB |
| test_63.txt | AC | 256 ms | 387920 KiB |
| test_64.txt | AC | 254 ms | 387840 KiB |