PTA1090 危險品裝箱 25分 詳解

2021-10-10 14:49:29 字數 790 閱讀 7591

傳送門

資料:

6 320001 20002

20003 20004

20005 20006

20003 20001

20005 20004

20004 20006

題目的關鍵在於如何解決編號不相容問題,由以上資料可知,20003與20004和20001都不相容.

此時我們可以用:

map>mp;//用於存放一對多的關係

//此處迴圈是難點,第乙個for迴圈是為了遍歷g[i],

第二個是遍歷每個g[i]所對應的vector陣列,

如本題資料中20003(g[i])所對應的vector中有(20004和20001)兩個值,然後用從c陣列判斷g[i]所對應的編號是否在此次 cin >> g[i];中存在,

若存在flag標記為1.

for(int i=0; iusing namespace std;

map>mp;//用於存放一對多的關係

int main()

while(n--);//用於存放物品編號,注意每次迴圈初始化

for(int i=0; i> g[i];

c[g[i]]=1;//用於標記編號是否存在,存在則值為1,否則為零

}int flag=0;

for(int i=0; i}

if(flag==1)

else

cout << "yes" <}

return 0;

}

PTA 1090 危險品裝箱

貨櫃運輸貨物時,我們必須特別小心,不能把不相容的貨物裝在乙隻箱子裡。比如氧化劑絕對不能跟易燃液體同箱,否則很容易造成 本題給定一張不相容物品的清單,需要你檢查每一張貨櫃貨品清單,判斷它們是否能裝在同一只箱子裡。輸入第一行給出兩個正整數 n 10 4 是成對的不相容物品的對數 m 100 是貨櫃貨品清...

1090 危險品裝箱(25 分)

1090 危險品裝箱 25 分 貨櫃運輸貨物時,我們必須特別小心,不能把不相容的貨物裝在乙隻箱子裡。比如氧化劑絕對不能跟易燃液體同箱,否則很容易造成 本題給定一張不相容物品的清單,需要你檢查每一張貨櫃貨品清單,判斷它們是否能裝在同一只箱子裡。輸入第一行給出兩個正整數 n 10 4 是成對的不相容物品...

1090 危險品裝箱 (25 分)

貨櫃運輸貨物時,我們必須特別小心,不能把不相容的貨物裝在乙隻箱子裡。比如氧化劑絕對不能跟易燃液體同箱,否則很容易造成 本題給定一張不相容物品的清單,需要你檢查每一張貨櫃貨品清單,判斷它們是否能裝在同一只箱子裡。輸入第一行給出兩個正整數 n 10 4 是成對的不相容物品的對數 m 100 是貨櫃貨品清...