HDU 1009 (貪心問題)

2021-07-08 13:01:35 字數 793 閱讀 5247

#includeusing namespace std;

const int maxn = 1000+5;

double best_v[maxn];

int j[maxn], f[maxn];

int e[maxn];

bool cmp(int i, int j)

int main()

sort(e, e+n, cmp);

double sum = 0;

int t = 0; //這裡忘記初始化了 t表示當前房間

while(m&&tf[e[t]])

else*/}

//判斷好t的邊界 如果t把n個房間全部都走了一遍 即使貓糧還有剩餘

//還是要跳出這個迴圈

//加乙個判斷

//或者不要這一句 然後把while(m)換成while(m&&n--) 或 while(m&&t= n) break; 但是寫在這裡就是會錯 我也弄不懂為什麼

} printf("%.3lf\n", sum);

} return 0;

}

//while迴圈部分遇到乙個問題 

//寫成這樣就ac

while(m&&tf[e[t]])

else

} //寫成這樣就報錯

while(m)

else

if(t >= n) break;

} //實在不懂為什麼

hdu 1009 貪心演算法

老鼠準備了m磅的貓糧準備和守鼠糧的貓交換 貓守著n個倉庫,其中存放著不同數量的鼠糧,不同的倉庫交換其中的鼠糧所需要的貓糧是不一樣的,所以每個倉庫有兩個資料 1 鼠糧的重量 2 換取這些鼠糧所需要的貓糧。例如 第乙個倉庫 18 4 就表明老鼠用4磅的貓糧可換取18磅的鼠糧。但是如果老鼠沒有4磅的貓糧,...

HDU 1009 需要細心的題

注意比較兩個 綠色的部分,wa中先算出價效比w再通過w n算出整個物體的價值。會有一定的誤差 所以ac中整個物體的價值是單存的。wa include include include include define maxn 1000 10 using namespace std struct node...

DOTCPP 問題1009心得

思路二 提交時顯示執行錯誤50 思路三 看似沒有問題,實際oj會報錯 給出乙個不多於5位的整數,要求 1 求出它是幾位數 2 分別輸出每一位數字 3 按逆序輸出各位數字,例如原數為321,應輸出123 輸入乙個不大於5位的數字,輸出三行 第一行 位數 第二行 用空格分開的每個數字,注意最後乙個數字後...