時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:2 描述
給定整數a1、a2、.......an,判斷是否可以從中選出若干數,使它們的和恰好為k。
輸入
首先,n和k,n表示數的個數,k表示數的和。
接著一行n個數。
(1<=n<=20,保證不超int範圍)
輸出如果和恰好可以為k,輸出「yes」,並按輸入順序依次輸出是由哪幾個數的和組成,否則「no」
樣例輸入
4 131 2 4 7
樣例輸出
yes2 4 7
遇到的問題和思路:
因為沒有參加學校acm的集訓,所以只能自己在大冬天的家裡補知識。說實話感覺和別人差距挺大的了。不過路還是要一步乙個腳印的走下去,所以我決定按照書上給的例題一題一題做下去。
這道題是書上的例題,打算看了以後再做一遍。首先這道題目和書上的例題不一樣,還要求把樣例輸出,而且有個bug,最後乙個多了乙個空格都ac了,起初我還以為是pe。
具體的思路就是:是否選擇。僅此而已。
給出**:
#include
02.
#include
03.
#include
04.
#include
05.
06.
using
namespace
std;
07.
08.
int
a[30];
09.
bool
b[30];
10.
int
n, k;
11.
12.
bool
dfs(
int
i,
int
sum)
21.
22.
return
0;
23.
}
24.
25.
void
solve()
32.
printf
(
"\n"
);
33.
}
34.
else
printf
(
"no\n"
);
35.
}
36.
37.
int
main()
44.
45.
solve();
46.
}
47.
return
0;
48.
}
nyoj1058 部分和問題
部分和問題 時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入...
nyoj 1058 部分和問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...
NYOJ 1058部分和問題
描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次輸出是由哪幾個數的和組成,否則 no 樣例輸入 4 13 1 2 ...