이어지는 일정


문제 정보
check포인트 : 1 (부분 점수)
schedule시간 제한 : 2.0s
storage메모리 제한 : 128M
edit_square출제자:
 
답안 제출

N개의 장소가 있고, 두 장소 사이에는 직접 이동할 수 있는 길이 있을 수도 있고 없을 수도 있다.

어떤 일정은 여러 장소 번호를 순서대로 나열한 형태로 주어진다. 일정에 적힌 장소들을 그 순서대로 방문할 수 있는지 확인하려고 한다.

반드시 두 장소 사이를 한 번에 이동할 필요는 없다. 직접 이어져 있지 않은 두 장소라도, 다른 장소들을 거쳐 도달할 수 있다면 이동 가능한 것으로 본다. 또한 같은 장소를 여러 번 방문하는 것도 가능하다.

장소들 사이의 연결 정보와 일정이 주어졌을 때, 그 일정이 실제로 가능한지 판별하는 프로그램을 작성하시오.

입력

첫 줄에 장소의 수 N이 주어진다. N은 200 이하이다.

둘째 줄에 일정에 포함된 장소의 수 M이 주어진다. M은 1000 이하이다.

다음 N개의 줄에는 N개의 정수가 주어진다. i번째 줄의 j번째 수는 i번 장소와 j번 장소의 연결 정보를 의미한다. 1이면 두 장소가 연결되어 있고, 0이면 연결되어 있지 않다.

연결 정보는 양방향이다.

마지막 줄에는 일정에 포함된 장소들이 순서대로 주어진다. 장소의 번호는 1부터 N까지이다.

출력

일정이 가능하면 YES, 불가능하면 NO를 출력한다.

예제 입력 1

3
3
0 1 0
1 0 1
0 1 0
1 2 3

예제 출력 1

YES

댓글

현재 작성된 댓글이 없습니다.