Submission #67338392


Source Code Expand

Copy
from bisect import bisect_left
from collections import deque, defaultdict
def solve():
H,W,K=map(int, input().split())
A=[list(map(int, input().split())) for _ in range(K)]
R=defaultdict(list)
C=defaultdict(list)
for r,c in A:
R[r].append(c)
C[c].append(r)
for i in range(1,H+1):
R[i].extend([0,W+1])
R[i].sort()
for j in range(1,W+1):
C[j].extend([0,H+1])
C[j].sort()
rr={j: set(range(1,H+1))-set(C[j]) for j in C}
rc={i: set(range(1,W+1))-set(R[i]) for i in R}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
from bisect import bisect_left
from collections import deque, defaultdict

def solve():
    H,W,K=map(int, input().split())
    A=[list(map(int, input().split())) for _ in range(K)]

    R=defaultdict(list)
    C=defaultdict(list)
    for r,c in A:
        R[r].append(c)
        C[c].append(r)
    for i in range(1,H+1):
        R[i].extend([0,W+1])
        R[i].sort()
    for j in range(1,W+1):
        C[j].extend([0,H+1])
        C[j].sort()
        
    rr={j: set(range(1,H+1))-set(C[j]) for j in C}
    rc={i: set(range(1,W+1))-set(R[i]) for i in R}
    
    Q=deque()
    if (1 not in rr.get(1,set())) or (1 not in rc.get(1,set())):
        print("No")
        return
    
    Q.append((1,1))
    rc[1].discard(1)
    rr[1].discard(1)

    while Q:
        i,j=Q.popleft()
        if (i,j)==(H,W):
            print("Yes")
            return


        B=R[i]
        idx=bisect_left(B,j)
        l=B[idx-1]+1
        r=B[idx]-1
        cand=[c for c in rc[i] if l<=c<=r]
        for c in cand:
            rc[i].discard(c)
            rr[c].discard(i)
            Q.append((i,c))

        B=C[j]
        idx=bisect_left(B,i)
        l=B[idx-1]+1
        r=B[idx]-1
        cand=[c for c in rr[j] if l<=c<=r]
        for c in cand:
            rr[j].discard(c)
            rc[r].discard(j)
            Q.append((c,j))

    print("No")

solve()

Submission Info

Submission Time
Task G - Big Banned Grid
User kotafuku
Language Python (PyPy 3.10-v7.3.12)
Score 0
Code Size 1413 Byte
Status TLE
Exec Time 2274 ms
Memory 1259864 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 575
Status
AC × 4
AC × 17
TLE × 28
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 76 ms 76736 KiB
00_sample_01.txt AC 78 ms 77132 KiB
00_sample_02.txt AC 79 ms 76780 KiB
00_sample_03.txt AC 78 ms 77044 KiB
01_random_04.txt TLE 2261 ms 1022672 KiB
01_random_05.txt TLE 2261 ms 1017712 KiB
01_random_06.txt TLE 2261 ms 1019092 KiB
01_random_07.txt TLE 2261 ms 1018812 KiB
01_random_08.txt TLE 2261 ms 1019792 KiB
01_random_09.txt TLE 2261 ms 1019812 KiB
01_random_10.txt TLE 2263 ms 1045212 KiB
01_random_11.txt TLE 2256 ms 926968 KiB
01_random_12.txt TLE 2274 ms 1259864 KiB
01_random_13.txt TLE 2264 ms 1087228 KiB
01_random_14.txt TLE 2263 ms 1060104 KiB
01_random_15.txt TLE 2267 ms 1085192 KiB
01_random_16.txt AC 389 ms 96252 KiB
01_random_17.txt AC 252 ms 146112 KiB
01_random_18.txt AC 201 ms 100656 KiB
01_random_19.txt AC 185 ms 99136 KiB
01_random_20.txt AC 123 ms 86600 KiB
01_random_21.txt AC 664 ms 97152 KiB
01_random_22.txt TLE 2262 ms 1050296 KiB
01_random_23.txt TLE 2262 ms 1036444 KiB
01_random_24.txt TLE 2263 ms 1050912 KiB
01_random_25.txt TLE 2262 ms 1051660 KiB
01_random_26.txt TLE 2261 ms 1052084 KiB
01_random_27.txt TLE 2262 ms 1051748 KiB
01_random_28.txt TLE 2253 ms 868452 KiB
01_random_29.txt TLE 2263 ms 1059372 KiB
01_random_30.txt TLE 2266 ms 1126172 KiB
01_random_31.txt TLE 2250 ms 796844 KiB
01_random_32.txt TLE 2273 ms 1256316 KiB
01_random_33.txt TLE 2263 ms 1060220 KiB
01_random_34.txt AC 151 ms 94312 KiB
01_random_35.txt AC 172 ms 95612 KiB
01_random_36.txt AC 145 ms 90948 KiB
01_random_37.txt AC 239 ms 122172 KiB
01_random_38.txt AC 288 ms 158056 KiB
01_random_39.txt AC 237 ms 92612 KiB
01_random_40.txt AC 359 ms 260748 KiB
01_random_41.txt TLE 2220 ms 248344 KiB
01_random_42.txt TLE 2258 ms 962148 KiB
01_random_43.txt TLE 2262 ms 1043392 KiB
01_random_44.txt TLE 2261 ms 1027996 KiB


2025-07-06 (Sun)
00:13:35 +09:00