题目:

思路分析:
就是每拆一个城市就标记一下
然后遍历每一
const int MAX=100001; struct node{ int u,v; }e[MAX]; int main(){ int n,m; cin>>n>>m; for(int i=0;i<m;i++){ cin>>e[i].u>>e[i].v; } int q; cin>>q; map<int ,int >mp; while (q--) { mp.clear(); int k; cin>>k; while (k--) { int x; cin>>x; mp[x]=1; } int flag=1; for(int i=0;i<m;i++){ if(mp[e[i].u]==0&&mp[e[i].v]==0){ flag=0; break; } } if(flag) cout<<"YES"<<endl; else cout<<"NO"<<endl; } }条边 检查是否有二个城市仍然连通
本文介绍了一种通过遍历边来判断城市间连通性的算法。该算法首先读取城市数量和边的数量,接着输入边的信息,并进行多次查询。每次查询会标记被拆除的城市,然后检查所有边是否至少有一个端点未被拆除。如果所有边都满足条件,则输出“YES”,否则输出“NO”。
262

被折叠的 条评论
为什么被折叠?



