zoukankan      html  css  js  c++  java
  • 2020年百度之星程序设计大赛

    比赛题目链接

    http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=889

    1001-Drink

    思路:简单暴力。

    AC代码

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    #define sc(T) scanf("%d",&T)
    #define scc(x,y) scanf("%d %d",&x,&y)
    #define pr(T) printf("%d
    ",T)
    #define inf 0x3f3f3f3f
    
    int main()
    {
        int T;
        sc(T);
        while(T--)
        {
            int n,m,mi=inf;
            scc(n,m);
            for(int i=1; i<=n; i++)
            {
                int x,y;
                scc(x,y);
                int k=m/x;
                if(m%x!=0)
                    k++;
                mi=min(mi,k*y);
            }
            pr(mi);
        }
        return 0;
    }
    
    

    1002-GPA

    思路:简单暴力。四层for循环即可。

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    #define sc(T) scanf("%d",&T)
    #define scc(x,y) scanf("%d %d",&x,&y)
    #define pr(T) printf("%d
    ",T)
    #define inf 0x3f3f3f3f
    
    struct node
    {
        double x,y;
    } a[15];
    
    int main()
    {
        a[1].x=0,a[1].y=0;
        a[2].x=60,a[2].y=1.0;
        a[3].x=62,a[3].y=1.7;
        a[4].x=65,a[4].y=2.0;
        a[5].x=67,a[5].y=2.3;
        a[6].x=70,a[6].y=2.7;
        a[7].x=75,a[7].y=3.0;
        a[8].x=80,a[8].y=3.3;
        a[9].x=85,a[9].y=3.7;
        a[10].x=90,a[10].y=4.0;
        a[11].x=95,a[11].y=4.3;//放主函数外面不行
        int T;
        sc(T);
        while(T--)
        {
            double x;
            scanf("%lf",&x);
            double ma=-inf*1.0;
            for(int i=1; i<=11; i++)
            {
                for(int j=1; j<=11; j++)
                {
                    for(int k=1; k<=11; k++)
                    {
                        for(int p=1; p<=11; p++)
                        {
                            if(a[i].x+a[j].x+a[k].x+a[p].x<=x)
                                ma=max(ma,a[i].y+a[j].y+a[k].y+a[p].y);
                        }
                    }
                }
            }
            printf("%.1lf
    ",ma);
    //        for(int i=0; i<=100; i++)
    //        {
    //            for(int j=0; j<=100; j++)
    //            {
    //                for(int k=0; k<=100; k++)
    //                {
    //                    if(1.0*(i+j+k)>=0&&1.0*(i+j+k)<=x)
    //                    {
    //                        double kk=x-1.0*(i+j+k);
    //                    }
    //                }
    //            }
    //        }
        }
        return 0;
    }
    

    1003-Dec

    思路:简单DP。但是我犯了一个错,脑子一抽,把所有的__gcd(x,y)=?,把这个问号部分默认为1了。

    AC代码

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    #define sc(T) scanf("%d",&T)
    #define scc(x,y) scanf("%d %d",&x,&y)
    #define pr(T) printf("%d
    ",T)
    #define inf 0x3f3f3f3f
    
    int dp[1005][1005];
    
    void init()
    {
        //dp[1][1]=1;
        for(int i=1; i<=1000; i++)
        {
            for(int j=1; j<=1000; j++)
            {
                if(__gcd(i,j)==1)
                    dp[i][j]=max(dp[i-1][j],dp[i][j-1])+1;
                else
                    dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
            }
        }
    }
    
    int main()
    {
        init();
        int T;
        sc(T);
        while(T--)
        {
            int x,y;
            scc(x,y);
            pr(dp[x][y]);
        }
        return 0;
    }
    

    1004-Civilization

    思路:BFS。

    AC代码

    看下这个博主写的:https://blog.csdn.net/qq_33957603/article/details/107523424

  • 相关阅读:
    用数组实现的字符串和用指针实现的字符串
    c语言 10
    c语言 10-4
    函数间数组的传递,是以指向第一个元素的指针的形式进行传递的。
    openjudge7624 山区建小学
    NOIP2000 乘积最大
    openjudge6252 带通配符的字符串匹配
    codevs 3289 花匠
    codevs 3641 上帝选人
    各种子序列问题
  • 原文地址:https://www.cnblogs.com/OFSHK/p/13379530.html
Copyright © 2011-2022 走看看