zoukankan      html  css  js  c++  java
  • BZOJ2748_音量调节_KEY

    题目传送门

    我不得不说这是一道BZOJ的大水题。

    一眼就可以看出的布尔型DP。

    F[i][j]表示前i天能否达到j音量。

    code

    #include <cstdio>
    #include <cctype>
    #define C c = tc ( )
    using namespace std;
    
    inline char tc(){
        static char fl[100000],*A,*B;
        return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
    }
    
    inline void read(int &x){
        static char c;
        while(!isdigit(C));x=c-'0';
        while(isdigit(C))x=x*10+c-'0';
    }
    
    int n,bx,mx,a[51],f[51][1001];
    
    int main(){
    
        freopen("sounds.in","r",stdin);
        freopen("sounds.out","w",stdout);
    
        read(n),read(bx),read(mx);
            for(int i=1;i<=n;i++)read(a[i]);
        f[0][bx]=1;
            for(int i=1;i<=n;i++){
                for(int j=0;j<=mx;j++){
                    if(j-a[i]>=0) f[i][j]|=f[i-1][j-a[i]];
                    if(j+a[i]<=mx)f[i][j]|=f[i-1][j+a[i]];
                }
            }   
            for(int i=mx;i>=0;i--)
                if(f[n][i]){
                    printf("%d",i);
                    return 0;
                }
        puts("-1");
        fclose(stdin),fclose(stdout);
        return 0;
    }

    想知道fread读优怎么打的C++同志看这儿→
    YZ哥哥读入优化

  • 相关阅读:
    Animation
    Calendar
    ToggleButton
    ASP.NET备份恢复SqlServer数据库
    ConfirmButton
    DropDown
    备份与恢复ACCESS数据库
    PopupControl
    CascadingDropDown
    RoundedCorners
  • 原文地址:https://www.cnblogs.com/Cptraser/p/7593450.html
Copyright © 2011-2022 走看看