Challenge NPC
시간 제한2초메모리 제한1024 MB
루트를 지우지 않고 트리 G에서 노드를 삭제해 연결된 결과가 트리 H와 동형이 되는지 판별합니다.
문제
두 루트 트리 와 가 주어진다. 는 트리 의 노드 수이며, 두 트리는 를 만족한다. 여기서 는 작은 상수이다. 의 노드 일부를 삭제할 수 있고, 삭제 후 남은 부분 그래프를 라 하자. 다음 조건을 모두 만족하도록 노드를 삭제할 수 있는지 판단하라.
- 는 연결되어 있다.
- 는 의 루트 노드를 포함한다. 즉, 루트 노드는 삭제되지 않는다.
- 와 는 동형이다. 즉, 의 노드에 번호를 다시 붙여 결과가 와 완전히 같아지게 할 수 있고, 이때 의 루트 노드가 의 루트가 된다.
입력
입력에는 여러 개의 테스트 데이터가 들어 있다. 첫 줄에 양의 정수 , 와 음이 아닌 정수 가 주어진다. 는 현재 테스트 번호, 는 테스트 데이터 그룹 수, 는 문제에서 주어진 상수이다. 이면 현재 데이터는 예제이다. , 가 보장된다.
각 테스트 데이터는 다음과 같다.
- 첫 줄에 양의 정수 이 주어진다. 이며, 모든 의 합은 이하이다.
- 둘째 줄에 개의 정수가 주어진다. 번째 정수 는 에서 노드 의 부모 노드이고, 루트이면 이다. 연결된 루트 트리임이 보장된다.
- 셋째 줄에 양의 정수 가 주어진다. 을 만족함이 보장된다.
- 넷째 줄에 개의 정수가 주어진다. 형식은 와 같으며 의 구조를 나타낸다.
출력
각 테스트 데이터에 대해, 조건을 모두 만족하도록 의 노드를 삭제할 수 있으면 Yes, 없으면 No를 한 줄에 출력한다.
제한
모든 테스트 데이터에 대해 , , , 이다.
힌트
데이터에는 특정 해시 함수를 겨냥한 구조가 없다. 합리적인 범위에서는 해시 충돌로 점수를 잃는 것을 크게 걱정하지 않아도 된다.