Between
시간 제한1초메모리 제한1024 MB
각 쿼리마다 a에서 b로 가는 최단경로 중 주어진 정점을 모두 지나는 최단경로가 존재하는지 판정한다.
문제
부터 까지 번호가 붙은 개의 정점과, 개의 간선으로 구성된 방향 무가중치 그래프가 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성해 보자.
- : 번 정점에서 번 정점으로 가는 최단경로가 존재하며, 이들 중 번 정점을 모두 지나는 최단경로가 존재한다면
YES, 아니라면NO를 출력한다. 이때, 를 순서대로 지날 필요는 없다.
입력
첫째 줄에 그래프의 정점의 개수 , 간선의 개수 이 공백으로 구분되어 주어진다. ;
다음 개의 줄에 정수 와 가 공백으로 구분되어 주어진다. 이는 번 정점에서 번 정점으로 향하는 단방향 간선이 존재함을 의미한다. ;
다음 줄에는 쿼리의 개수 가 주어진다.
다음 개의 줄에 걸쳐 각 줄에는
- 정점의 번호 ,
- 지나야 하는 정점의 개수
- 인 경우, 지나야 하는 개의 정점의 번호 ; , , , , 는 모두 다르다.
가 공백으로 구분되어 주어진다.
모든 쿼리의 의 합은 을 넘지 않는다.
출력
한 줄에 하나씩, 각각의 쿼리의 결과를 순서대로 출력한다.