개발자 크루

갑오징어

📌 C++ 풀이 📌 1일 1 알고리즘

BFS DFS

썸네일

[HSAT 1회 정기 코딩 인증평가 기출] 안전운전을 도와줄 차세대 지능형 교통시스템

난이도
3 단계
참가자
0
제출
0
정답률
0.00 %
언어별 시간/메모리
언어별 시간/메모리 표
언어 시간 메모리
JavaScript 2초 256MB
C 1초 256MB
C++ 1초 256MB
Java 2초 256MB
Python 2초 256MB

지능형 교통시스템(Intelligent Transport System)은 이미 우리의 삶에 밀접하게 연결되어 있다. 내비게이션 실시간 교통정보, 고속도로의 하이패스, 정류장의 버스 도착 안내 시스템들이 ITS에 속한다. 여기서 차량과 인프라가 서로 협력하면 차세대 지능형 교통시스템(C-ITS, Cooperative Intelligent Transportation System)이 되는 것이다. 이렇게 차량 주행과 관련된 인프라와 차량 등이 통신하기 시작하면 사고나 정체 상황에서 놀라운 일이 벌어진다.




여기 교통 인프라(신호등)와 실시간 통신을 하는 자율주행차가 가로, 세로 N개의 교차로로 구성된 도로를 지나고 있다. 교차로 간 연결된 선을 도로, 도로의 교차점들을 교차로로 생각하자.


자율주행 차는 처음에 제일 왼쪽 위의 교차로로 아래쪽 방향에서 진입하고 있다. (자동차는 도로 한 칸을 가는 데는 1T가 걸린다.)




각 교차로의 신호등은 다음과 같은 12가지 상태 중 4가지를 가지고 무한히 반복하는 방식으로 운영된다.




예를 들어 한 교차로의 신호 집합이 <3 2 6 10>과 같이 주어진 경우는 아래와 같다.




자율주행 자동차가 멈추지 않고, 시간 T 이내에 갈 수 있는 교차로의 수를 계산하라. 단, 신호가 맞지 않으면 그 교차로에는 갈 수가 없다.


처음에 제일 왼쪽 위의 교차로로 아래쪽 방향에서 진입하고 있으므로, 교차로(1,1)의 신호가 2, 10번 중 하나가 아니면 더 이상 진행을 할 수 없으므로 교차로는 단 하나[교차로(1,1)]로 계산한다.

제약조건

1 ≤ N, T ≤ 100

입력형식

입력으로는 N과 시간 T가 첫 줄에 주어진다.

다음 N2개의 줄에 각 교차로의 신호 집합이 주어진다.

신호는 항상 4개이며, 순서는 X축부터 진행을 한다.


예를 들어 N이 2인 경우

두 번째 줄. 교차로(1,1)의 신호

세 번째 줄. 교차로(2,1)의 신호

네 번째 줄. 교차로 (1,2)의 신호

마지막 줄. 교차로 (2,2)의 신호


출력형식

이동 경로에 있는 모든 교차로의 개수를 출력한다. 한번 갔던 교차로는 중복해서 세지 않는다.

입력예제1

3 3 2 6 12 9 7 1 11 6 6 3 5 11 1 1 12 9 3 11 8 2 1 7 11 9 4 6 2 3 2 4 2 4 6 9 2 6

출력예제1

6