#P791. 拦截匪徒

拦截匪徒

问题描述:

某市的地图是一个由n个点组成的无向图,每个点代表一个区。现在第p区发生了抢劫案,而警察为了截住匪徒埋伏在一个匪徒必经的区域。由于不知道匪徒会向哪个区域逃窜,局长要求身为警察局电脑专家的你计算出对于任意一个匪徒可能逃向的区j,找出一个可以截住匪徒的区k,即匪徒从p区逃向j区,必经过k区。由于地区j可能为匪徒的老巢所在,所以局长希望在路上拦住匪徒,而不是在j区抓捕。

输入格式:catch.in

第一行为n,p(1≤p≤n≤200)。

接下来为n*n的矩阵A,A[i,j]=1表示i区和j区有路相连,反之为0。

输出格式:catch.out

输出n-1行,按顺序从j=1,2,……,n依次输出对于每一个j,警察可以在哪些点埋伏。如有多个点,则要按照从小到大的顺序依次输出;如没有,则对应行输出“No”。

输入样例:

5 1
0 1 1 0 0
1 0 1 1 0
1 1 0 0 0
0 1 0 0 1
0 0 0 1 0

输出样例:

No
No
2
2 4