ACM挑戰程式設計競賽1 1抽籤

2021-07-04 12:30:55 字數 734 閱讀 3830

試題描述

你的朋友提議玩乙個遊戲:將寫有數字的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...