#include<bits/stdc++.h>
using namespace std
;
const int maxn
=505;
bool vis
[maxn
],v
[maxn
][maxn
];
int n
;
void dfs(int x
){
vis
[x
]=true;
for(int i
=0;i
<n
;i
++){
if(!vis
[i
]&&v
[x
][i
]==true)
dfs(i
);
}
}
int main(){
int m
,k
;
cin
>>n
>>m
;
for(int i
=0;i
<m
;i
++){
int a
,b
;
cin
>>a
>>b
;
v
[a
][b
]=v
[b
][a
]=true;
}
cin
>>k
;
for(int i
=0;i
<k
;i
++){
int tmp
,cnt1
=0,cnt2
=0;
cin
>>tmp
;
fill(vis
,vis
+n
,false);
for(int j
=0;j
<n
;j
++){
if(!vis
[j
]){
dfs(j
);
cnt1
++;
}
}
fill(vis
,vis
+n
,false);
vis
[tmp
]=true;
for(int j
=0;j
<n
;j
++){
if(!vis
[j
]){
dfs(j
);
cnt2
++;
}
}
for(int j
=0;j
<n
;j
++)
v
[tmp
][j
]=v
[j
][tmp
]=0;
if(cnt2
>cnt1
)
printf("Red Alert: City %d is lost!\n",tmp
);
else
printf("City %d is lost.\n",tmp
);
}
if(k
==n
)
cout
<<"Game Over."<<endl
;
return 0;
}
转载请注明原文地址: https://lol.8miu.com/read-23902.html