#include <bits/stdc++.h>
using namespace std;
int mapp[1000][1000];
int after[1000][1000];
int vis[1000];
int n;
void dfs(int a)
{
vis[a] = 1;
for (int i = 1; i <= n; i++)
{
if (after[a][i] == 1 && vis[i] == 0)
dfs(i);
}
}
int main()
{
ios::sync_with_stdio(false);
int m, k;
cin >> n >> m >> k;
for (int i = 0; i < m; i++)
{
int a, b;
cin >> a >> b;
mapp[a][b] = 1;
mapp[b][a] = 1;
}
for (int i = 0; i < k; i++)
{
int c;
cin >> c;
memcpy(after, mapp, sizeof(mapp));
memset(vis, 0, sizeof(vis));
for (int j = 1; j <= n; j++)
{
after[c][j] = 0;
after[j][c] = 0;
}
int sum = 0;
for (int j = 1; j <= n; j++)
{
if (vis[j] == 0)
{
dfs(j);
sum++;
}
}
cout << sum - 2 << endl;
}
}
PAT(甲) - 1013 Battle Over Cities
最新推荐文章于 2024-02-12 17:49:52 发布