砝码称重(动态规划c++实现)

题目


你有一架天平和 N 个砝码,这 N个砝码重量依次是 W1,W2,⋅⋅⋅,WN。

请你计算一共可以称出多少种不同的正整数重量?

注意砝码可以放在天平两边。


输入


输入的第一行包含一个整数 N。

第二行包含 N个整数:W1,W2,W3,⋅⋅⋅,WN。


输出


输出一个整数代表答案。


样例

输入样例:
3
1 4 6
输出样例:
10

代码

#include<iostream>
#include<cmath>
using namespace std;
const int N = 110,M=2e5+10,B = M/2;
int n;
int q[N];
bool f[N][M];
bool st[M];

int main(){
    scanf("%d",&n);
    int sum = 0;
    for(int i=1;i<=n;i++) {
        scanf("%d",&q[i]);
        sum+=q[i];
    }
    f[0][B] = true;
    int res = 0;
    for(int i=1;i<=n;i++){
        for(int j=-sum;j<=sum;j++){
            f[i][j+B] |= f[i-1][j+B];
            if(j-q[i]>=-sum) f[i][j+B] |= f[i-1][j-q[i]+B];
            if(j+q[i]<=sum) f[i][j+B] |= f[i-1][j+q[i]+B];
        }
    }
    for(int i=1;i<=sum;i++) if(f[n][i+B]) res++;
    printf("%d",res);
}

相关推荐

  1. 砝码(动态规划c++实现)

    2024-03-31 03:50:02       20 阅读
  2. 动态规划--砝码

    2024-03-31 03:50:02       21 阅读
  3. AcWing 3417.砝码

    2024-03-31 03:50:02       20 阅读
  4. 蓝桥杯备战16.砝码

    2024-03-31 03:50:02       17 阅读
  5. 接龙序列(动态规划c++实现)

    2024-03-31 03:50:02       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-31 03:50:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-31 03:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-31 03:50:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-31 03:50:02       20 阅读

热门阅读

  1. 代码随想录刷题day39|不同路径&不同路径II

    2024-03-31 03:50:02       19 阅读
  2. antdp | 解决问题tcp 8080 bind address already in use

    2024-03-31 03:50:02       18 阅读
  3. Android SystemUI关机和重启的UI

    2024-03-31 03:50:02       17 阅读
  4. ElasticSearch之优化篇

    2024-03-31 03:50:02       20 阅读
  5. 智慧工地整体解决方案(1)

    2024-03-31 03:50:02       22 阅读
  6. sort和priority_queue的自定义比较函数

    2024-03-31 03:50:02       22 阅读
  7. 智能合约测试例子

    2024-03-31 03:50:02       24 阅读
  8. vector快速入门

    2024-03-31 03:50:02       21 阅读
  9. 【MySQL】MySQL中SQL语句的索引分析

    2024-03-31 03:50:02       18 阅读
  10. QT5.14.2 码上热浪,用Qt5狂暴轰入多媒体狂潮

    2024-03-31 03:50:02       20 阅读