2018年牛客多校寒假 第四场 F (call to your teacher) (图的连通性)

匿名 (未验证) 提交于 2019-12-02 23:49:02

题目链接

传送门:https://ac.nowcoder.com/acm/contest/76/F

思路:

          题目的意思就是判断图的连通性可以用可达性矩阵来求,至于图的存储可以用邻接矩阵来储存,求出来可达性矩阵后判断下 a[1] [n] 是不是为零就好了,不为零的话说明从1(自己)到 n(teacher)是连通的,为零的话就说明不是连通的

代码:

          

 1 #include <bits/stdc++.h>  2   3 using namespace std;  4 const int MAXN = 60;  5 int n, m, a[MAXN][MAXN];  6   7 int main()  8 {  9     while (cin >> n >> m) 10     { 11         int x, y; 12         while (m -- ) 13         { 14             cin >> x >> y; 15             a[x][y] = 1; 16         } 17          18         for (int i = 1; i <= n; i ++ ) 19             for (int j = 1; j <= n; j ++ ) 20             { 21                 if (a[j][i] == 1) 22                 { 23                     for (int k = 1; k <= n; k ++ ) 24                         if ((a[j][k] + a[i][k]) >= 1) 25                              a[i][k] = 1; 26                 } 27             } 28          29         if (a[1][n] != 0)   puts("Yes"); 30         else   puts("No"); 31         memset(a,0,sizeof(a)); 32     } 33     return 0; 34 }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!