아직 계정이 없으신가요? 회원가입

Dev. Talk

차세대 지능형 교통시스템 반례좀 찾아주세요 ㅜㅜ

회원사진sungwon4728
27 views2023-05-11 20:29

vs code로 넣고 디버깅하면서 돌려봐도 맞는거같은데 히든테케중에 틀리는게 꽤 많네요ㅜㅜ


import sys
from collections import deque
input = sys.stdin.readline

def bfs(row,colum,time,dir): # (행,열,시간,진입방향)
    global N,T
    dq=deque()
    dq.append((row,colum,time,dir))
    cnt=0
    while dq:
        r,c,t,d = dq.popleft()
        if not visit[r][c]:
            cnt+=1
            visit[r][c]=1
        if t>=T:
            continue
        light = roads[r*N+c][t%4]-1
        if dir!=light%4:
            continue
        for li in signal[light]:
            nr = r+move[li][0]
            nc = c+move[li][1]
            if nr<0 or nc<0 or nc>=N or nc>=N:
                continue
            dir =li
            dq.append((nr,nc,t+1,dir))

    return cnt
        
move= [(0,1),(-1,0),(0,-1),(1,0)]
#signal의 index%4 값에서 순서대로 진입하는 방향이 (오른,위,왼,아래)
signal = [(0,1,3),(0,1,2),(1,2,3),(0,2,3),(0,1),(1,2),(2,3),(3,0),(0,3),(0,1),(1,2),(2,3)]

N,T = map(int,input().split())
roads=list(list(map(int,input().split())) for _ in range(N*N))
visit=[[0]*N for _ in range(N)]
ans = bfs(0,0,0,1)

print(ans)