您的位置:首页 > 其它

pat 1134. Vertex Cover (25) 思维

2017-12-11 00:03 369 查看
#include<bits/stdc++.h>
using namespace std;
vector<int>v[10003];
bool bok[10003];
int main(){
int n,m,q;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
int s,e;
scanf("%d%d",&s,&e);
v[s].push_back(e);
v[e].push_back(s);
}

scanf("%d",&q);
while(q--){
int p;
scanf("%d",&p);
int sum=0;
for(int i=1;i<=p;i++){
int tmp;
scanf("%d",&tmp);
for(int j=0;j<v[tmp].size();j++){
if(!bok[v[tmp][j]])sum++;
}
bok[tmp]=1;
}
if(sum==(m))puts("Yes");
else puts("No");
memset(bok,0,sizeof(bok));
}
return 0;
}


问给的点集是否覆盖所有边

枚举下计数即可

处理一个标记一个点

那么当枚举后面的点的边时 就不会处理重复的边了

邻接矩阵存边
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: