개발자 톡
연습문제 톡
[HSAT 1회 정기 코딩 인증평가 기출] 안전운전을 도와줄 차세대 지능형 교통시스템
차세대 지능형 교통시스템 반례좀 찾아주세요 ㅜㅜ
- 등록일
- 2023-05-11 20:29:53
- 조회수
- 515
- 작성자
- sungwon4728
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)
#[hsat_1회_정기_코딩_인증평가_기출]_안전운전을_도와줄_차세대_지능형_교통시스템
#python