PTA1090 危險品裝箱 (25分)詳解
1090 危險品裝箱 (25分)詳解
資料:
6 3
20001 20002
20003 20004
20005 20006
20003 20001
20005 20004
20004 20006
本題分析
:
- 題目的關鍵在於如何解決編號不相容問題,由以上資料可知,20003與20004和20001都不相容.
此時我們可以用:
map<int,vector<int>>mp;//用於存放一對多的關係
2.難點分析
//此處迴圈是難點,第一個for迴圈是為了遍歷G[i],
第二個是遍歷每個G[i]所對應的vector陣列,
如本題資料中20003(G[i])所對應的vector中有(20004和20001)兩個值,然後用從c[]陣列判斷G[i]所對應的編號是否在此次 cin >> G[i];中存在,
若存在flag標記為1.
for(int i=0; i<k; i++){
for(int j=0; j<mp[G[i]].size(); j++){
if(c[mp[G[i]][j]]==1) flag=1;
}
}
程式碼
#include<bits/stdc++.h>
using namespace std;
map<int,vector<int>>mp;//用於存放一對多的關係
int main() {
int m,n;
cin >> m >> n;
while(m--){
int a,b;
cin >> a >> b;
mp[a].push_back(b);
mp[b].push_back(a);
}
while(n--){
int k;
cin >> k;
int G[k],c[100010]={0};//用於存放物品編號,注意每次迴圈初始化
for(int i=0; i<k; i++){
cin >> G[i];
c[G[i]]=1;//用於標記編號是否存在,存在則值為1,否則為零
}
int flag=0;
for(int i=0; i<k; i++){
for(int j=0; j<mp[G[i]].size(); j++){
if(c[mp[G[i]][j]]==1) flag=1;
}
}
if(flag==1){
cout << "No" <<endl;
}
else
cout << "Yes" <<endl;
}
return 0;
}
相關文章
- 解決方案:邁道科技危險化學品企業安全風險智慧化管控平臺
- 小米危險了
- 郵箱偽造詳解
- (十九)冒險和預測,解決危險就能抓住機會
- 深入淺出瞭解“裝箱與拆箱”
- 2020危險化學品經營單位安全管理人員考試題及危險化學品經營單位安全管理人員證考試
- 微信方便也危險
- php 的 危 險 參 數PHP
- 2020年危險化學品經營單位安全管理人員多少錢及危險化學品經營單位安全管理人員模擬考試
- 2020年危險化學品經營單位安全管理人員新版試題及危險化學品經營單位安全管理人員免費試題
- 危險的 target=”_blank” 與 “opener”
- 棕櫚油挺危險的
- EDM營銷退信的危險
- 危險的 target="_blank" 與 “opener”
- 2020年危險化學品經營單位安全管理人員考試報名及危險化學品經營單位安全管理人員試題及答案
- 私密空間保險箱
- 2020年危險化學品經營單位安全管理人員模擬考試題庫及危險化學品經營單位安全管理人員操作證考試
- 2020年危險化學品生產單位安全生產管理人員考試題及危險化學品生產單位安全生產管理人員答案解析
- 2020年危險化學品經營單位安全管理人員試題及答案及危險化學品經營單位安全管理人員模擬考試題庫
- 2021年危險化學品生產單位安全生產管理人員答案解析及危險化學品生產單位安全生產管理人員新版試題
- 通過原始碼瞭解Java的自動裝箱拆箱原始碼Java
- Android 中的危險許可權Android
- Linux的10個最危險命令Linux
- php常見的危險函式PHP函式
- 危險就是一封郵件
- 自動裝箱、拆箱
- 2021年危險化學品生產單位安全生產管理人員證考試及危險化學品生產單位安全生產管理人員模擬考試題
- Linux的10個最危險的命令Linux
- 深入SQLite,一網打盡“危險操作”SQLite
- 13 種危險的網路攻擊
- 使用WiFi真的有那麼危險嗎?WiFi
- Redis禁用或重新命名危險命令Redis
- PyLint 的優點、缺點和危險
- 洛谷 P2074 危險區域
- Java自動拆箱與裝箱Java
- 危險區域闖入識別系統
- 當官遊戲品類詳解遊戲
- 檢測到有潛在危險的Request.Form值解決辦法ORM