1 条题解

  • 0
    @ 2025-10-8 16:53:34

    A36 贪心算法 P5020 [NOIP2018 提高组] 货币系统

    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    int n,a[105],f[25005],ans;
    //f[j]表示j能被已知数字拼凑的方案数
    
    int main(){
      int T; scanf("%d",&T);
      while(T--){
        scanf("%d",&n);
        for(int i=1; i<=n; i++)
          scanf("%d",&a[i]);
        sort(a+1,a+n+1);
        
        memset(f,0,sizeof(f));
        f[0]=1; 
        for(int i=1; i<=n; i++)
          for(int j=a[i];j<=a[n];j++)
            f[j]+=f[j-a[i]];
        
        ans=0;
        for(int i=1;i<=n;i++)
          if(f[a[i]]==1) ans++;    
        printf("%d\n",ans);
      }
    }
    
    • 1

    A36 贪心算法 [NOIP 2018 提高组] 货币系统

    信息

    ID
    806
    时间
    1000ms
    内存
    512MiB
    难度
    8
    标签
    递交数
    269
    已通过
    50
    上传者