nyoj 325 和 nyoj 456【经典dp】

来源:互联网 发布:js中使用java变量 编辑:程序博客网 时间:2024/06/07 12:34

两题是同一类型

AC代码:

# include <stdio.h># include <string.h># define M 100005int dp[M];int w[M];int main(void){int n;while (scanf("%d", &n) != EOF){int i, j;int sum = 0;int ave;memset(dp, 0, sizeof(dp));for (i = 0; i < n; i++){scanf("%d", &w[i]);sum += w[i];}ave = sum / 2;for (i = 0; i < n; i++){for (j = ave; j >= w[i]; j--){dp[j] = dp[j] > dp[j - w[i]] + w[i] ? dp[j] : dp[j - w[i]] + w[i];}}printf("%d\n", sum - 2 * dp[ave]);}return 0;}


0 0
原创粉丝点击