0
点赞
收藏
分享

微信扫一扫

SWUST OJ 1071: 有向图的邻接矩阵存储顶点删除

题目描述

假设有向图G采用邻接矩阵存储,要求删除某一个顶点i(包括与其相关连的边)。

输入

第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二个数表示被删除的顶点编号,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。

输出

新的邻接矩阵,第一行表示顶点的个数;
第二行是剩余的结点编号;
接下来是为一个(n-1)*(n-1)大小的整数矩阵。

样例输入

5 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

样例输出

4
0134
0110
0010
0000
1010

参考程序

#include<stdio.h>
int main()
{
	int n, k;
	scanf("%d%d", &n, &k);
	int a[n][n], b[n]={0};
	int sum=0;
	for(int i=0; i<n; i++)
	{
		b[i]=i;
		for(int j=0; j<n; j++)
		{
			scanf("%d", &a[i][j]);
		}
	}
	printf("%d\n", n-1);
	for(int i=0; i<n; i++)
	{
		if(i==k)	continue;
		printf("%d", b[i]);
	}
	printf("\n");	
	for(int i=0; i<n; i++)
	{
		if(i==k)	continue;
		for(int j=0; j<n; j++)
		{
			if(j==k)	continue;
			printf("%d", a[i][j]);
		}
		printf("\n");
	}	
	return 0;
} 

注意

该程序仅供学习参考!

举报

相关推荐

0 条评论