Submission #70983459
Source Code Expand
n, X, Y = map(int, input().split())
Q = [tuple(input().split()) for _ in range(n)]
A = {(0, X-1, 0, Y-1)}
for m, a, b in Q:
a, b = int(a), int(b)
A_ = set()
if m=='Y':
for g in A:
xl, xr, yl, yr = g
if yr<a:
A_.add((xl-b, xr-b, yl, yr))
elif yl>=a:
A_.add((xl+b, xr+b, yl, yr))
else:
A_.add((xl-b, xr-b, yl, a-1))
A_.add((xl+b, xr+b, a, yr))
else:
for g in A:
xl, xr, yl, yr = g
if xr<a:
A_.add((xl, xr, yl-b, yr-b))
elif xl>=a:
A_.add((xl, xr, yl+b, yr+b))
else:
A_.add((xl, a-1, yl-b, yr-b))
A_.add((a, xr, yl+b, yr+b))
A = A_
xs = set()
ys = set()
for xl, xr, yl, yr in A:
xs.add(xl)
xs.add(xr+1)
ys.add(yl)
ys.add(yr+1)
xs = sorted(xs)
ys = sorted(ys)
XI = {x:i for i, x in enumerate(xs)}
YI = {x:i for i, x in enumerate(ys)}
lx, ly = len(XI), len(YI)
D = [[0]*ly for _ in range(lx)]
# print(A, xs, ys)
for xl, xr, yl, yr in A:
for i in range(lx):
for j in range(ly):
if xl<=xs[i]<=xr and yl<=ys[j]<=yr:
D[i][j] = (xs[i+1]-xs[i])*(ys[j+1]-ys[j])
# print(D)
def dfs(sx, sy):
global ans
que = [(sx, sy)]
ans += D[sx][sy]
D[sx][sy] = 0
for x, y in que:
for dx, dy in (0, 1), (1, 0), (0, -1), (-1, 0):
nx, ny = x+dx, y+dy
if 0<=nx<lx and 0<=ny<ly and D[nx][ny]:
ans += D[nx][ny]
D[nx][ny] = 0
que.append((nx, ny))
A = []
for i in range(lx):
for j in range(ly):
if D[i][j]:
ans = 0
dfs(i, j)
A.append(ans)
A.sort()
print(len(A))
print(*A)
Submission Info
| Submission Time | |
|---|---|
| Task | D - Suddenly, A Tempest |
| User | uparupaaa |
| Language | Python (PyPy 3.11-v7.3.20) |
| Score | 425 |
| Code Size | 1667 Byte |
| Status | AC |
| Exec Time | 66 ms |
| Memory | 98912 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 425 / 425 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-01.txt, 00-sample-02.txt |
| All | 00-sample-01.txt, 00-sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt, 01-58.txt, 01-59.txt, 01-60.txt, 01-61.txt, 01-62.txt, 01-63.txt, 01-64.txt, 01-65.txt, 01-66.txt, 01-67.txt, 01-68.txt, 01-69.txt, 01-70.txt, 01-71.txt, 01-72.txt, 01-73.txt, 01-74.txt, 01-75.txt, 01-76.txt, 01-77.txt, 01-78.txt, 01-79.txt, 01-80.txt, 01-81.txt, 01-82.txt, 01-83.txt, 01-84.txt, 01-85.txt, 01-86.txt, 01-87.txt, 01-88.txt, 01-89.txt, 01-90.txt, 01-91.txt, 01-92.txt, 01-93.txt, 01-94.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-01.txt | AC | 48 ms | 80364 KiB |
| 00-sample-02.txt | AC | 59 ms | 92560 KiB |
| 01-01.txt | AC | 47 ms | 80420 KiB |
| 01-02.txt | AC | 46 ms | 80364 KiB |
| 01-03.txt | AC | 46 ms | 80400 KiB |
| 01-04.txt | AC | 45 ms | 80520 KiB |
| 01-05.txt | AC | 45 ms | 80400 KiB |
| 01-06.txt | AC | 45 ms | 80352 KiB |
| 01-07.txt | AC | 47 ms | 80400 KiB |
| 01-08.txt | AC | 51 ms | 87096 KiB |
| 01-09.txt | AC | 49 ms | 86580 KiB |
| 01-10.txt | AC | 46 ms | 80292 KiB |
| 01-11.txt | AC | 49 ms | 87580 KiB |
| 01-12.txt | AC | 49 ms | 87192 KiB |
| 01-13.txt | AC | 51 ms | 88420 KiB |
| 01-14.txt | AC | 53 ms | 89652 KiB |
| 01-15.txt | AC | 51 ms | 88800 KiB |
| 01-16.txt | AC | 51 ms | 89048 KiB |
| 01-17.txt | AC | 55 ms | 91964 KiB |
| 01-18.txt | AC | 51 ms | 88744 KiB |
| 01-19.txt | AC | 52 ms | 89564 KiB |
| 01-20.txt | AC | 45 ms | 80288 KiB |
| 01-21.txt | AC | 51 ms | 89524 KiB |
| 01-22.txt | AC | 54 ms | 90828 KiB |
| 01-23.txt | AC | 52 ms | 88716 KiB |
| 01-24.txt | AC | 56 ms | 90764 KiB |
| 01-25.txt | AC | 47 ms | 80460 KiB |
| 01-26.txt | AC | 46 ms | 80308 KiB |
| 01-27.txt | AC | 45 ms | 80092 KiB |
| 01-28.txt | AC | 44 ms | 80256 KiB |
| 01-29.txt | AC | 44 ms | 80596 KiB |
| 01-30.txt | AC | 43 ms | 80288 KiB |
| 01-31.txt | AC | 44 ms | 80344 KiB |
| 01-32.txt | AC | 48 ms | 80380 KiB |
| 01-33.txt | AC | 47 ms | 80460 KiB |
| 01-34.txt | AC | 46 ms | 80596 KiB |
| 01-35.txt | AC | 46 ms | 80596 KiB |
| 01-36.txt | AC | 45 ms | 80308 KiB |
| 01-37.txt | AC | 45 ms | 80296 KiB |
| 01-38.txt | AC | 45 ms | 80400 KiB |
| 01-39.txt | AC | 45 ms | 80364 KiB |
| 01-40.txt | AC | 46 ms | 80596 KiB |
| 01-41.txt | AC | 46 ms | 80108 KiB |
| 01-42.txt | AC | 46 ms | 80108 KiB |
| 01-43.txt | AC | 45 ms | 80224 KiB |
| 01-44.txt | AC | 45 ms | 80180 KiB |
| 01-45.txt | AC | 45 ms | 80160 KiB |
| 01-46.txt | AC | 45 ms | 80392 KiB |
| 01-47.txt | AC | 46 ms | 80240 KiB |
| 01-48.txt | AC | 46 ms | 80380 KiB |
| 01-49.txt | AC | 46 ms | 80292 KiB |
| 01-50.txt | AC | 45 ms | 80400 KiB |
| 01-51.txt | AC | 45 ms | 80240 KiB |
| 01-52.txt | AC | 45 ms | 80516 KiB |
| 01-53.txt | AC | 46 ms | 80400 KiB |
| 01-54.txt | AC | 46 ms | 80240 KiB |
| 01-55.txt | AC | 46 ms | 80352 KiB |
| 01-56.txt | AC | 46 ms | 80272 KiB |
| 01-57.txt | AC | 48 ms | 80516 KiB |
| 01-58.txt | AC | 47 ms | 80400 KiB |
| 01-59.txt | AC | 47 ms | 80364 KiB |
| 01-60.txt | AC | 46 ms | 80352 KiB |
| 01-61.txt | AC | 46 ms | 80504 KiB |
| 01-62.txt | AC | 46 ms | 80400 KiB |
| 01-63.txt | AC | 46 ms | 80472 KiB |
| 01-64.txt | AC | 46 ms | 80520 KiB |
| 01-65.txt | AC | 46 ms | 80288 KiB |
| 01-66.txt | AC | 46 ms | 80240 KiB |
| 01-67.txt | AC | 46 ms | 80424 KiB |
| 01-68.txt | AC | 46 ms | 80108 KiB |
| 01-69.txt | AC | 46 ms | 80296 KiB |
| 01-70.txt | AC | 46 ms | 80308 KiB |
| 01-71.txt | AC | 46 ms | 80288 KiB |
| 01-72.txt | AC | 45 ms | 80368 KiB |
| 01-73.txt | AC | 45 ms | 80364 KiB |
| 01-74.txt | AC | 46 ms | 80288 KiB |
| 01-75.txt | AC | 46 ms | 80392 KiB |
| 01-76.txt | AC | 46 ms | 80596 KiB |
| 01-77.txt | AC | 45 ms | 80392 KiB |
| 01-78.txt | AC | 45 ms | 80520 KiB |
| 01-79.txt | AC | 46 ms | 80296 KiB |
| 01-80.txt | AC | 45 ms | 80240 KiB |
| 01-81.txt | AC | 45 ms | 80048 KiB |
| 01-82.txt | AC | 46 ms | 80056 KiB |
| 01-83.txt | AC | 59 ms | 93300 KiB |
| 01-84.txt | AC | 61 ms | 94548 KiB |
| 01-85.txt | AC | 53 ms | 90716 KiB |
| 01-86.txt | AC | 57 ms | 92628 KiB |
| 01-87.txt | AC | 65 ms | 96088 KiB |
| 01-88.txt | AC | 54 ms | 91564 KiB |
| 01-89.txt | AC | 53 ms | 90708 KiB |
| 01-90.txt | AC | 62 ms | 96928 KiB |
| 01-91.txt | AC | 51 ms | 89168 KiB |
| 01-92.txt | AC | 58 ms | 93592 KiB |
| 01-93.txt | AC | 66 ms | 98912 KiB |
| 01-94.txt | AC | 52 ms | 89760 KiB |