用邻接矩阵存储一个有向图,写一算法计算出度为0的顶点个数,请各位大牛解答,急死了
3条回答
- cxlovu 2015-10-20 15:36关注
#include <iostream> using namespace std; #define MAXN 105 int n, m, Edge[MAXN][MAXN]; //顶点数,有向边数,邻接矩阵; int Mc, Md, u, v; //入度,出度,边的起点,终点; void Init() //初始化; { memset(Edge, 0, sizeof(Edge)); for(int i=1; i<=m; i++) { //添加有向边; scanf("%d %d", &u, &v); Edge[u-1][v-1] = 1; } } int get_Out_Degree() //输出有向边各顶点的出度; { int res = 0; printf("该有向图各顶点的出度分别为:"); for(int i=0; i<n; i++) { Md = 0; for(int j=0; j<n; j++) Md += Edge[j][i]; printf("%d", Md); if(Md == 0) res++; i == n-1 ? printf("\n") : printf(" "); } return res; } int main() { while(~scanf("%d %d", &n, &m) && n || m) { Init(); int res = get_Out_Degree(); printf("出度为0的个数为%d\n", res); } return 0; }
测试数据格式:
先输入两个数n,m
n是顶点的个数,m是有向边数
然后输入m行,每行是两个端点
允许循环输入,停止条件是m = n = 0
望采纳本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 3
悬赏问题
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记