CCCGuide

Problem J5: Choose your own path

2018 · J5 · Original problem · DMOJ

Problem Description

There is a genre of fiction called choose your own adventure books. These books allow the reader to make choices for the characters which altersthe outcome of the story.

For example, after reading the first page of a book, the reader may be asked a choice, such as “Do you pick up the rock?” If the reader answers “yes”, they are directed to continue reading on page 47, and if they choose “no”, they are directed to continue reading on page 18. On each of those pages, they have further choices, and so on, throughout the book. Some pages do not have any choices, and thus these are the “ending” pages of that version of the story. There may be many such ending pages in the book, some of which are good (e.g., the hero finds treasure) and others which are not (e.g., the hero finds a leftover sandwich from 2001).

You are the editor of one of these books, and you must examine two features of the choose your own adventure book:

  1. ensure that every page can be reached – otherwise, there is no reason to pay to print a page which no one can ever read;

  2. find the shortest path, so that readers will know what the shortest amount of time they need to finish one version of the story.

Given a description of the book, examine these two features.

Input Specification

The first line of input contains NN (1≤N≤10000)(1 \leq N \leq 10000), the number of pages in the book. Each of the next NN lines contain an integer MiM_i (1≤i≤N;0≤Mi≤N)(1 \leq i \leq N; 0 \leq M_i \leq N), which is the number of different options from page ii, followed by MiM_i space-separated integers in the range from 11 to NN, corresponding to each of the pages to go to next from page ii. It will also be the case M1+M2+⋯+MNM_1 + M_2 + \cdots + M_N is at most 10000.

If Mi=0M_i = 0, then page ii is an ending page (i.e., there are no choices from that page). There will be at least one ending page in the book.

Note that you always begin the book on page 1.

For 4 of the available 15 marks, N≤100N \leq 100, Mi≤10M_i \leq 10 for 1≤i≤N1 \le i \le N.

For an additional 3 of the available 15 marks, the book is guaranteed to have no cycles.

For an additional 4 of the available 15 marks, N≤1000N \leq 1000, Mi≤25M_i \le 25 for 1≤i≤N1 \le i \le N.

Output Specification

The output will be two lines. The first line will contain Y if all pages are reachable, and N otherwise. The last line will contain a non-negative integer KK, which is the shortest path a reader can take while reading this book. There will always be a finite shortest path.

Sample Input 1

3
2 2 3
0
0

Output for Sample Input 1

Y
2

Explanation of Output for Sample Input 1

Since we start on page 1, and can reach both page 2 and page 3, all pages are reachable. The only paths in the book are 1→21 \rightarrow 2 and 1→31 \rightarrow 3, each of which is 2 pages in length.

Sample Input 2

3
2 2 3
0
1 1

Output for Sample Input 2

Y
2

Explanation of Output for Sample Input 2

Every page is reachable, since from page 1, we can reach pages 2 and 3. The shortest path is the path 1 →\rightarrow 2, which contains two pages.