午餐費
本題目不考慮超時簡單:
直接暴枚:
交上去要s......#include #include using namespace std;
int n, m, a[35], ans;
void dfs(int t, int sum)
if (t == n + 1)
return ;
} dfs(t + 1, sum + a[t]);//讓當前學生免飯錢。
dfs(t + 1, sum);//不免。
}int main()
ans = 0;
dfs(1, 0);
printf("%d\n", ans);
} return 0;
}
優化思路:
(1). 將飯錢從大到小排序。(有一點貪心策略,但不完全貪心)。
(2). 排序之後,求字尾和。(在dfs函式中有利於更加快速地判斷後面的數是否還需要再次便歷)。重點!!!
(3). 在dfs函式中,判斷一下當前飯錢和是否大於班費。(因為後面無論怎麼加都沒用)。
**:
#include #include using namespace std;
int n, m, a[35], ans, p, b[35];
bool cmp(int x, int y)
void dfs(int t, int sum)
if (t == n + 1)
return ;
} if (sum + b[t] < ans)
dfs(t + 1, sum + a[t]);//讓當前學生免飯錢。
dfs(t + 1, sum);//不免。
}int main()
ans = 0;
sort(a + 1, a + n + 1, cmp);
for (int i = n; i >= 1; i--)
dfs(1, 0);
printf("%d\n", ans);
} return 0;
}
新手測試題目
現有乙個 專案的資訊表 prjinfo 結構如下 欄位名稱 字段型別 字段長度 是否為空 字段描述 idint 否主鍵 自增id projname varchar 100是 專案名稱 customer varchar 100是 客戶staus bit是 狀態 true 完成false 進行中 com...
新 測試 測試題目
a 功能驗證 b 效能相關的驗證 c 相容性相關的驗證 d 安全性相關的驗證 e 以上全是 答案 e tip 功能,效能,相容,安全 a 減少缺陷修復成本 b 提公升軟體安全性 c 發現比系統測試更多的錯誤 d 提高測試效率 答案 ad tip 越早發現,修復成本越少,測試效率越高 a 瀑布模型 b...
華為上機測試題目
汽水瓶明明的隨機數 進製轉換 最後乙個單詞的長度 計算字元的個數 老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.輸入描述 輸入包括多組測試資料。每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的...