#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
const int N = 1111;
vector<int> G[N];
bool vis[N];
int del;
void DFS(int j) {
if (j == del) return;
vis[j] = 1;
for (int s = 0; s < G[j].size(); s++) {
if (vis[G[j][s]] == 0)
DFS(G[j][s]);
}
}
int main() {
int n,m,k;
cin >> n >> m >> k;
for (int i = 0; i < m; i++) {
int begin, end;
cin >> begin >> end;
G[begin].push_back(end);
G[end].push_back(begin);
}
for (int i = 0; i < k; i++) {
cin >> del;
memset(vis, 0, sizeof(vis));
int num = 0;
for (int j = 1; j <= n; j++) {
if (j != del && vis[j] == 0) {
DFS(j);
num++;
}
}
cout << num - 1 << endl;
}
return 0;
}
1013 Battle Over Cities
最新推荐文章于 2022-03-09 22:05:31 发布