CCF通信网络

CCF通信网络_第1张图片
对每个点进行深度优先搜索遍历,起始点与遍历过程中遇到的每个点都是相互连通的,用矩阵记录下连通情况,最后遍历矩阵即可;开始使用邻接矩阵存储图,60分超时,稍微改了下就OK了。
不用记录边权时,图的这种存储还是较快的(没有vector情况下,自己写vector又挺麻烦,空间就不考虑了)。

#include
#include
#define Maxsize 1005

typedef struct{
	int size;
	int next[Maxsize];
}Node;

int n,m;
int set[Maxsize];
Node Map[Maxsize];
int Link[Maxsize][Maxsize];

void CreateMap()
{
	int a,b;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i)
		Map[i].size=0;
	for(int i=1;i<=m;++i){
		scanf("%d%d",&a,&b);
		Map[a].next[Map[a].size++]=b;
	}
}

void DFS(int start,int now)
{
	set[now]=1;
	Link[start][now]=Link[now][start]=1;
	for(int i=0;in) ans++;
	}
	printf("%d",ans);		    
}

int main()
{
	CreateMap();
	GetAns();
	
	return 0;
}

你可能感兴趣的:(C)