标签:
#include<stdio.h>
#include<string.h>
#include<vector>
using namespace std;
const int MAX=1010;
int n,m,k; //城市数,高速公路数,查询次数
int DELETE; //要删除的点
vector<int> ADJ[MAX]; //邻接表
bool vis[MAX];
void DFS(int s)
{
if(DELETE==s)
return; //表示该点不可达
vis[s]=true;
for(int i=0 ; i<ADJ[s].size() ; ++i)
if(vis[ADJ[s][i]]==false)
DFS(ADJ[s][i]);
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
for(int i=0 ; i<m ; ++i)
{
int u,v;
scanf("%d%d",&u,&v);
ADJ[u].push_back(v);
ADJ[v].push_back(u);
}
for(int q=0 ; q<k ; ++q)
{
int cnt=0; //不连通的图的数量
scanf("%d",&DELETE);
memset(vis,false,sizeof(vis));
for(int i=1 ; i<=n ; ++i)
{
if(vis[i]==false && i!=DELETE)
{
DFS(i);
++cnt;
}
}
printf("%d\n",cnt-1);
}
return 0;
}
PAT:1013. Battle Over Cities (25) AC
标签:
原文地址:http://www.cnblogs.com/Evence/p/4329030.html