NYOJ 1221 找數達人(01揹包)

2021-07-04 11:10:09 字數 1195 閱讀 9378

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:2

描述

簡單的題意如下:

小明最近做出了一道題:如何在一組數中尋找三個數,這三個數的和等於一給出的定值m,洋洋得意。於是小華不樂意了,別問為什麼...,於是小華說,你能找找在一組數字中是否有n個數,使得這n個數的和等於一給定的定值m嗎?

1): 0 < n <= 10000

2): 0 < 序列長度 <= 10000

3): 0 <= m <=10000

4): 0 <= 陣列中的數 <=10000

還有比這更簡單易懂的題目嗎???

輸入

多組資料,每組兩行,第一行為序列內容,第二行為m的值。

輸出如能找到,輸出yes,否則,輸出no。

樣例輸入

1 3 4 5

5

1 3 4 5 9

2

樣例輸出

yes

no

解題思路

:這個題吧,剛開始看還真沒一點思路,就連開始的資料讀入也不知所措。靜下心好好想想,原來是讀入字串,把其中的整數提取出來,用gets()讀取字串,再利用雙重迴圈提取資料(具體過程見**)。然後...然後就是乙個令我迷惑至今的問題,我首先想到的是貪心演算法,利用和nyoj91類似的思路,貪心計算,自己測試的所有資料完全沒錯,但就是提交wronganswer,我也是醉了.......沒辦法尋找另一種方法吧,其實這個題可以轉化成01揹包,只不過比較特殊(物品的體積與價值相等),m作為揹包的容積。**如下:

具體**:

#include #include #define max(a,b) a>b?a:b

char str[100000];

int c[100000];

int v[100000];

int dp[100000];

int main()

}if(t==1)

break;

} if(t==1)

printf("yes\n");

else

printf("no\n");

getchar();

} return 0;

}

NYOJ 1221找數達人(揹包問題)

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 小明最近做出了一道題 如何在一組數中尋找三個數,這三個數的和等於一給出的定值m,洋洋得意。於是小華不樂意了,小華說,你能找找在一組數字中是否有n個數,使得這n個數的和等於一給定的定值m嗎?1.0 數字大小 1000 2.0 序列...

NYOJ 1221 盜夢空間 模擬

題目描述 盜夢空間 是一部精彩的影片,在這部電影裡,cobb等人可以進入夢境之中,夢境裡的時間會比現實中的時間過得快得多,這裡假設現實中的3分鐘,在夢裡就是1小時。然而,cobb他們利用強效鎮靜劑,可以從第一層夢境進入第二層夢境,甚至進入三層,四層夢境,每層夢境都會產生同樣的時間加速效果。那麼現在給...

南陽理工1221 找數達人(01揹包)

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 小明最近做出了一道題 如何在一組數中尋找三個數,這三個數的和等於一給出的定值m,洋洋得意。於是小華不樂意了,小華說,你能找找在一組數字中是否有n個數,使得這n個數的和等於一給定的定值m嗎?1.0 數字大小 1000 2.0 序列...