具体代码#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=5e2+10;
int fa[N],e[N][N];
void init(int n){
for(int i=0;i<n;i++)
fa[i]=i;
}
int find(int x){
if(x==fa[x])return x;
else return fa[x]=find(fa[x]);
}
void merge(int a,int b){
int faA=find(a),faB=find(b);
if(faA!=faB)fa[faA]=faB;
}
int main(){
int n,m,k;
cin>>n>>m;
init(n);
int a,b;
for(int i=0;i<m;i++){
cin>>a>>b;
e[a][b]=e[b][a]=1;
merge(a,b);
}
int cn=0;
for(int i=0;i<n;i++){
if(i==find(i))cn++;
}
cin>>k;
for(int i=0;i<k;i++){
cin>>a;
for(int i=0;i<n;i++){
e[a][i]=e[i][a]=0;
}
init(n);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(e[i][j])merge(i,j);
}
}
int cn2=0;
for(int i=0;i<n;i++){
if(i==find(i))cn2++;
}
if(cn2-cn>1)cout<<"Red Alert: City "<<a<<" is lost!"<<endl;
else cout<<"City "<<a<<" is lost."<<endl;
cn=cn2;
}
if(k==n)cout<<"Game Over."<<endl;
return 0;
}