一场舞会中有n个人(编号0到n−1),小A和小B也在其中(编号为0
和1)。这n个人有一些是朋友关系,有一些不是。为了让小A和小B
成为朋友,不如跳舞!我们认为当两个人有一个共同的朋友时,这两个人可以跳一支舞,并成为朋友。问最少要跳几场舞使得小A和小B成为朋友。数据保证a[i,j] = a[j,i]。数据范围:1≤n≤100
输入
第一行一个整数n,表示舞会中的人数。
接下来为一个n*n的字符矩阵,其中第i行第j列(i,j都从0开始标号)的字母为’Y’当且仅当编号为i,j的两人是朋友,字母为’N’当且仅当编号为i,j的两人不是朋友。
输出
输出仅一行一个整数ans表示最少需要跳舞的场数,如果两人已经是朋友则输出0,如果两人无论如何也无法成为朋友,则输出-1。
输入样例
6
NNYYNN
NNNNYY
YNNNYN
YNNNNY
NYYNNN
NYNYNN
输出样例
2
#include<bits/stdc++.h>
using namespace std;
char g[110][110];
int v[110],num[110];
queue<int>q;
int main()
{