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\n",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\n",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\n",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\n",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

猜你喜欢

转载自www.cnblogs.com/OFSHK/p/13379530.html