時間限制
200 ms
記憶體限制
65536 kb
**長度限制
8000 b
判題程式
standard
作者 陳越
輸入格式:
輸入第一行給出兩個正整數:n(<=104)是硬幣的總個數,m(<=102)是韓梅梅要付的款額。第二行給出n枚硬幣的正整數面值。數字間以空格分隔。
輸出格式:
在一行中輸出硬幣的面值 v1
<= v2
<= ... <= vk,滿足條件 v1 + v2 + ... + vk = m。數字間以1個空格分隔,行首尾不得有多餘空格。若解不唯一,則輸出最小序列。若無解,則輸出「no solution」。
注:我們說序列比「小」,是指存在 k >= 1 使得 a[i]=b[i] 對所有 i < k 成立,並且 a[k] < b[k]。
輸入樣例1:
8 9輸出樣例1:5 9 8 7 2 3 4 1
1 3 5輸入樣例2:
4 8輸出樣例2:7 2 4 3
no solution標記每個物品能到達的位置,因為每個物品只有乙個,所以當這個物品應用於該位置時,則物品下標也應該前移;
#include #include #include #include #include #include #include #include #include #include using namespace std;
const int n = 1e4+10;
const int inf = 10000000;
const int mod = 1e5+10;
typedef long long ll;
vectorp[n];
int dp[110], a[n], path[n][110];
int cmp(int x,int y)
int main()}}
if(dp[m]==0) puts("no solution");
else
i--;
}printf("\n");
}return 0;
}
L3 001 湊零錢 dp 滿01揹包
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 輸入格式 輸入第一行給出兩個正整數 n 104 是硬幣的總個數,m 102 是韓梅梅要付的款額。第二行給出n枚硬幣的正整數面值。數字間以空格分隔。輸出格式 在一行中輸出硬幣的面值 v...
L3 001 湊零錢(dfs或者01揹包)
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 輸入格式 輸入第一行給出兩個正整數 n 104 是硬幣的總個數,m 102 是韓梅梅要付的款額。第二行給出n枚硬幣的正整數面值。數字間以空格分隔。輸出格式 在一行中輸出硬幣的面值 v...
天梯賽L3 001 湊零錢 (01揹包 dfs)
l3 001 湊零錢 30 分 輸入第一行給出兩個正整數 n 10 4 是硬幣的總個數,m 10 2 是韓梅梅要付的款額。第二行給出 n 枚硬幣的正整數面值。數字間以空格分隔。在一行中輸出硬幣的面值 v 1 v 2 v k 滿足條件 v 1 v 2 v k m。數字間以 1 個空格分隔,行首尾不得有...