天天看点

西南科技大学OJ题 有向图的邻接矩阵存储顶点删除1071

有向图的邻接矩阵存储顶点删除

 5000(ms)

 10000(kb)

 2261 / 4574

Tags: 有向图

假设有向图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 map[100][100],n,m;
void CreateMap()//创建邻接矩阵 
{
	for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%d",&map[i][j]);
}
void DistMap()//输出邻接矩阵 
{
	for(int i=0;i<n;i++)
	{
		if(i!=m)
		{
			for(int j=0;j<n;j++)
			{
				if(j!=m)
				{
					printf("%d",map[i][j]);
				}
			}
			printf("\n");
		}
	}
}
int main()
{
	scanf("%d %d",&n,&m);
	CreateMap();
	printf("%d\n",n-1);
	for(int i=0;i<n;i++) if(i!=m) printf("%d",i);
	printf("\n");
	DistMap();
}