PAT甲级1149 Dangerous Goods Packaging :[C++题解]哈希表、逆向思维
生活随笔
收集整理的這篇文章主要介紹了
PAT甲级1149 Dangerous Goods Packaging :[C++题解]哈希表、逆向思维
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
來源:acwing
分析: 本題要反著想:先把所有詢問存起來,每個詢問存在一個hash表中。然后對于每對不相容的物品,查看是否同時在一個hash表中。
ac代碼
#include<bits/stdc++.h> using namespace std; const int N =1e4+10; typedef pair<string,string> PII; int main(){int n, m;cin >> n >> m;vector<PII> vec;for(int i =0; i < n; i++){string a ,b;cin >> a >> b;vec.push_back({a,b});}//讀入m個詢問for(int u = 0; u<m ; u++){int k;cin >> k;//哈希表unordered_set<string> mp;bool flag = true;//每個詢問清單存起來for(int j =0 ;j<k ;j ++){string s;cin >> s;mp.insert(s);}//查詢不相容的物品for(int i =0 ;i< n; i++){string a = vec[i].first, b =vec[i].second;if(mp.count(a) && mp.count(b)){flag =false;cout<<"No"<<endl;break;}}if(flag) cout<<"Yes"<<endl;} }題目鏈接
PAT甲級1149 Dangerous Goods Packaging
https://www.acwing.com/problem/content/1644/
總結(jié)
以上是生活随笔為你收集整理的PAT甲级1149 Dangerous Goods Packaging :[C++题解]哈希表、逆向思维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT甲级1144 The Missin
- 下一篇: PAT甲级1078 Hashing:[C