• 2020 年百度之星·程序设计大赛 初赛一


    一如既往地菜...

    a.

    b.

     

    #include <bits/stdc++.h>
    
    using namespace std;
    
    double point[105];
    double dp[5][405];
    
    int main(){
        /*
        ios::sync_with_stdio(0);
        cin.tie(0);
        cout.tie(0);
        */
    
        memset(dp,0,sizeof(dp));
        for(int i=0;i<=100;i++){
            if(i>=0&&i<=59) point[i]=0.0;
            if(i>=60&&i<=61) point[i]=1.0;
            if(i>=62&&i<=64) point[i]=1.7;
            if(i>=65&&i<=66) point[i]=2.0;
            if(i>=67&&i<=69) point[i]=2.3;
            if(i>=70&&i<=74) point[i]=2.7;
            if(i>=75&&i<=79) point[i]=3.0;
            if(i>=80&&i<=84) point[i]=3.3;
            if(i>=85&&i<=89) point[i]=3.7;
            if(i>=90&&i<=94) point[i]=4.0;
            if(i>=95&&i<=100) point[i]=4.3;
        }
        for(int j=1;j<=4;j++){
            for(int i=0;i<=100*j;i++){
                for(int k=0;k<=min(i,100);k++){
                    dp[j][i]=max(dp[j][i],dp[j-1][i-k]+point[k]);
                }
            }
        }
    
        int t,x;
        cin>>t;
        while(t--){
            cin>>x;
            printf("%.1f
    ",dp[4][x]);
        }
        return 0;
    }
    View Code

    c.

     

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int dp[1005][1005];
    
    bool huzhi(int j,int k){
        int r=j%k;
        while(r){
            j=k;
            k=r;
            r=j%k;
        }
        if(k==1){
            return true;
        }else{
            return false;
        }
    }
    
    
    int main(){
        ios::sync_with_stdio(0);
        cin.tie(0);
        cout.tie(0);
        int t;
        int a,b;
    
        for(int j=1;j<=1000;j++){
            dp[j][1]=j;
        }
        for(int j=1;j<=1000;j++){
            dp[1][j]=j;
        }
    
        for(int j=2;j<=1000;j++){
            for(int k=2;k<=1000;k++){
                if(huzhi(j,k)){
                    dp[j][k]=max(dp[j-1][k],dp[j][k-1])+1;
                }else{
                    dp[j][k]=max(dp[j-1][k],dp[j][k-1]);
                }
    
            }
        }
    
    
        cin>>t;
        for(int i=0;i<t;i++){
            cin>>a>>b;
            cout<<dp[a][b]<<endl;
        }
    
    
    
        return 0;
    }
    View Code
  • 相关阅读:
    web页面常用方法及INI文件的读取方法
    winform 三个Panel左右切换(panel里面填充图片)
    图片渐出轮播的效果
    Winform跑马灯——Graphics运用
    .net 3.5 新功能重写ToInt()方法
    style.display
    SQL: 分页SQL SQL2005函数分页!
    JS: 验证输入必须为数字
    Table 里面点标题会进行排序
    在Div中绑定数据
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/13340451.html
Copyright © 2020-2023  润新知