PAT甲级1134 Vertex Cover :[C++题解]顶点覆盖、图论、用结构体存边,bool数组判断
生活随笔
收集整理的這篇文章主要介紹了
PAT甲级1134 Vertex Cover :[C++题解]顶点覆盖、图论、用结构体存边,bool数组判断
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
來源:acwing
分析:首先把所有的邊存儲下來,使用結構體,結構體中保存兩個端點。
然后對于每次詢問,將出現過的頂點標志為true放在st數組中,然后遍歷所有的邊,如果有端點沒有在st數組中,則輸出false。
AC代碼
#include<bits/stdc++.h> using namespace std; const int N = 1e4 +10 ; int n ,m; //結構體來存邊 struct Edge{int a, b; }e[N];bool st[N];//標記是否出現在集合中int main(){cin >> n >> m;for(int i = 0 ;i< m; i++) cin>> e[i].a >> e[i].b;int k;cin >> k;while(k --){int cnt;cin >> cnt;memset(st, 0 ,sizeof st);while(cnt--){int x;cin >> x;st[x] =true;}int i; //用來遍歷所有的邊for(i =0 ;i < m; i++)//如果一條邊中兩個頂點都沒有if(!st[e[i].a] && ! st[e[i].b]) break;if(i == m) cout<<"Yes"<<endl;else cout<<"No"<<endl;} }題目鏈接
PAT甲級1134 Vertex Cover
https://www.acwing.com/problem/content/1629/
總結
以上是生活随笔為你收集整理的PAT甲级1134 Vertex Cover :[C++题解]顶点覆盖、图论、用结构体存边,bool数组判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT甲级1131 Subway Map
- 下一篇: PAT甲级1139 First Cont