挑战英语,挑战你的编程能力 大家帮帮忙 看看应该怎么编 c++源代码最好
Degrees of separationFind out how many people separate one person from another.
The number of people will be no more than 20.
Input
A positive integer representing the number of people in the following list. Each line in the list contains the name of a person, followed by the number of people that person knows, followed by the names of those people. Following this list is a positive integer denoting the number of cases. Each case consists of a starting name and a goal name. Names will not contain any blanks or non-alphabetic characters.
Output
The phrase “<start> has no connection to <goal>.” or the phrase “<start> is separated from <goal> by <num> degrees.”, where <start> is the starting name, <goal> is the goal name, and <num> is the number of degrees of separation between the two.
Sample Input
5
Bob 3 Tom John Jim
Sam 2 Bob John
John 2 Tom Bob
Tom 1 Sam
Jim 0
3
Jim Sam
Sam John
John Sam
Sample Output
Jim has no connection to Sam.
Sam is separated from John by 0 degrees.
John is separated from Sam by 1 degrees.
提示:有向图求路径长度