201709-4CCF通信网络

题目

201709-4CCF通信网络_第1张图片

很简单的DFS题,数据量不大,由于每个部门知道其他部门的数量位置,这里采用了vector动态储存数据。

贴上代码

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
vectorv[1001];
int vis[1001]={0};
int a[1001][1001]={0};

void dfs(int x,int pre)
{
	vis[x]=1;
	a[x][pre]=1;
	a[pre][x]=1;
	for(int i=0;i>n>>m;
	for(int i=0;i>x>>y;
		v[x].push_back(y);
	}
	for(int i=1;i<=n;i++)
	{
		memset(vis,0,sizeof(vis));
		dfs(i,i);
	}
	for(int i=1;i<=n;i++)
	{
		int j;
		for(j=1;j<=n;j++)
		{
		if(a[i][j]==0)break;
		}
		if(j==n+1)num++;
	}
	cout<

你可能感兴趣的:(CCF)