試題描述
你的朋友提議玩乙個遊戲:將寫有數字的n 個紙片放入口袋中,你可以從口袋中抽取4 次紙片,每次記下紙片上的數字後都將其放回口袋中。如果這4 個數字的和是m,就是你贏,否則就是你的朋友贏。你挑戰了好幾回,結果一次也沒贏過,於是怒而撕破口袋,取出所有紙片,檢查自己是否真的有贏的可能性。請你編寫乙個程式,判斷當紙片上所寫的數字是k1,k2, …, kn 時,是否存在抽取4 次和為m 的方案。 輸入
第一行為兩個整數n,m;第二行為n個整數k1,k2, …, kn 。
輸出
如果存在,輸出「yes」;否則,輸出「no」。
輸入示例
3 10
1 3 5
輸出示例
yes
其他說明
1 ≤ n ≤ 50
1 ≤ m ≤ 10^8
1 ≤ ki ≤ 10^8
c程式:
#include const int max_n = 50;
int main()
// 是否找到和為m的組合的標記
bool f = false;
// 通過四重迴圈列舉所有方案
for (int a = 0; a < n; a++) }}
}} // 輸出到標準輸出
if (f) puts("yes");
else puts("no");
return 0;
}
ACM挑戰程式設計競賽1 1抽籤
試題描述 你的朋友提議玩乙個遊戲 將寫有數字的n 個紙片放入口袋中,你可以從口袋中抽取4 次紙片,每次記下紙片上的數字後都將其放回口袋中。如果這4 個數字的和是m,就是你贏,否則就是你的朋友贏。你挑戰了好幾回,結果一次也沒贏過,於是怒而撕破口袋,取出所有紙片,檢查自己是否真的有贏的可能性。請你編寫乙...
挑戰程式設計 抽籤
你的朋友提議玩乙個遊戲,將寫有數字的n個紙片放入口袋中,你可以從口袋中抽取4次紙片,每次記下紙片數字後將其放回口袋中。如果這四個數字的和是m,就是你贏,否則的話就是你朋友贏,你挑戰了好幾回,結果一次也沒有贏過,於是怒而撕破口袋,取出所有紙片,檢查自己是否有贏的可能性。請你編寫乙個乙個程式,判斷紙片上...
挑戰程式設計競賽 1 63抽籤加強版
有n個數字,每次選乙個數,每個數可用無限次,選4次,問加起來能否等於m.能輸出yes,否則輸出no.1 n 1000 樸素演算法就是列舉複雜度o n 4 死定了。這樣複雜度就是o nlogn 2 include include include include define max a,b a b a...