1062: 有向图的边存在判断
题目描述
假设有向图G采用邻接矩阵存储,判断图G中是否存在边。
输入
第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二行表示顶点i和j,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示不邻接。
输出
yes(存在),no(不存在)。
样例输入
5
0 2
0 1 0 1 0
0 0 1 1 0
0 0 0 0 0
0 0 0 0 0
1 0 0 1 0
样例输出
no
思路:
输入邻接矩阵,if判断两点UV是否连通即可。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, a[100][100], u, v ; //n为顶点个数,uv为顶点
cin >> n; //scanf("%d", &n);
cin >> u >> v; //scanf("%d %d", &u, &v);
for(int i=0;i<n;i++) //输入邻接矩阵
{
for(int j=0;j<n;j++)
{
cin >> a[i][j]; //scanf("%d", &a[i][j]);
}
}
if(a[u][v]==1) //u->v连通
{
cout << "yes"; //printf("yes");
}
else //u->v不连通
{
cout << "no"; //printf("no");
}
return 0;
}
以上方法仅供参考,欢迎互联网的广大朋友们提出指正。