NYOJ 106題揹包問題

2021-09-30 10:03:47 字數 543 閱讀 4145

這道題典型的應用貪心演算法。不過有些不同的是這個題目已經告訴你單位價值了,所以我們不需要考慮計算單位價值最高的,從高到低的選擇了。我們現在所需要做的就是對單位價值進行排序,然後從高到底取物品,直到重量達到題目中告訴的揹包的w。

想明白之後,思路也就很清晰了。sort排序,結構體或者二維陣列進行儲存資料。最後執行計算價值和·······不過這個題目中值得留意就是那個對結構體資料的交換,沒有單獨定義乙個變數,而是用結構體中最後乙個多餘的進行儲存。

**如下:

#includestruct wupin

wu[11];

int main()

//此處就是進行結構體交換的地方,想法比較好。

}if(wu[s-1].b>=m)

printf("%d\n",m*wu[s-1].a);

else

}printf("%d\n",k);

} }return 0;

}

NYOJ 106題揹包問題

這道題典型的應用貪心演算法。不過有些不同的是這個題目已經告訴你單位價值了,所以我們不需要考慮計算單位價值最高的,從高到低的選擇了。我們現在所需要做的就是對單位價值進行排序,然後從高到底取物品,直到重量達到題目中告訴的揹包的w。想明白之後,思路也就很清晰了。sort排序,結構體或者二維陣列進行儲存資料...

NYOJ 106 揹包問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多物品 它們是可以分割的 我們知道它們每個物品的單位重量的價值v和重量w 1 v,w 10 如果給你乙個揹包它能容納的重量為m 10 m 20 你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。輸入 第一行輸...

揹包問題 nyoj106

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多物品 它們是可以分割的 我們知道它們每個物品的單位重量的價值v和重量w 1 v,w 10 如果給你乙個揹包它能容納的重量為m 10 m 20 你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。輸入第一行輸入...