BJTU1844 hwf吃披萨

news/2024/7/5 1:00:07

BJTU1844 hwf吃披萨

题目:

hwf 是一个非常喜欢吃披萨的人。某天,天上掉下了一张披萨,被 hwf 和高老师看到了。高老师把披萨分成了 𝑛 份, 第 𝑖 份的角度为 𝑎𝑖。为了公平起见,他们决定由 hwf 把 𝑛 份披萨分成两堆,然后高老师肯定会挑一堆角度和多的,hwf 拿剩下的一堆。hwf 想吃到尽可能多的披萨,但是 hwf 的心思已经全在吃披萨上了。

快帮助 hwf,告诉他最多能吃到多少披萨吧!

输入数据:

第一行为一个整数 𝑡 (1≤𝑡≤500),表示数据的组数。接下来对于每组数据:第一行有一个整数 𝑛 (2≤𝑛≤360),表示披萨被分成的份数。
第二行有 𝑛 个整数 𝑎1,𝑎2,…,𝑎𝑛 (1≤𝑎𝑖<360),分别表示第 𝑖 份披萨的角度。

保证 ∑𝑛𝑖=1𝑎𝑖=360

样例

输入:

2
4
10 130 170 50
3
200 60 100

输出:

180
160

解释:

在理解完题意后,可以把它抽象为一个01背包的dp问题,题意是hwf得到的角度和在不超过180度的情况下找它的最大值,这熟悉的描述方式就是dp了。

然后180就相当于它背包的limitation,然后物品的weight和value值都是它的角度,模型就出来了。

下面是AC代码:

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<cmath>

using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        int a[500] = {0};
        int dp[500] = {0};

        cin>>n;
        for(int i = 1;i <= n;i++)
        {
            cin>>a[i];
        }
        for(int i = 1;i <= n;i++)
        {
            for(int j = 180;j >= a[i];j--)
            {
                dp[j] = max(dp[j],dp[j-a[i]]+a[i]);
            }
        }
        cout<<dp[180]<<endl;
    }
    return 0;
}


http://www.niftyadmin.cn/n/3142478.html

相关文章

对于最长公共子序列的理解。

解决LCS问题&#xff0c;需要把原问题分解成若干个子问题&#xff0c;所以需要刻画LCS的特征。 设A“a0&#xff0c;a1&#xff0c;…&#xff0c;am”&#xff0c;B“b0&#xff0c;b1&#xff0c;…&#xff0c;bn”&#xff0c;且Z“z0&#xff0c;z1&#xff0c;…&#xf…

函数编程

1. 编码问题 i.请说明python2与python3中的默认编码是什么&#xff1f; python2 ASCII 码 python3 字符串为unicode&#xff0c;文件默认编码为utf-8 ii.为什么会出现中文乱码&#xff1f;你能列举出现乱码的情况有哪几种&#xff1f; 读取使用的编码和存储时使用的编码不一致…

苏州大学新生寒假训练day3 D - Bone Collector

苏州大学新生寒假训练day3 D - Bone Collector Problem: Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone colle…

用python算圆周率及进度条提示

&#xff08;一&#xff09;圆周率 &#xff1a; &#xff08;1&#xff09;圆周率是指平面上圆的周长与直径之比 &#xff08;ratio of the circumference of a circle to the diameter&#xff09; 。用符号π表示。中国古代有圆率、圆率、周等名称。 &#xff08;2&#xf…

【Kubernetes】kube-dns 持续重启

kuberbetes部署和启动正常&#xff0c;但是kube-dns持续重启 使用命令 kubectl get pods --all-namespaces 得到结果 从图中可以看出kube-dns-c7d85897f-jmntw 在不断重启 使用命令 kubectl describe pod kube-dns-c7d85897f-jmntw -n kube-system 得到结果 Name: ku…

BJTU1820 懒羊羊的作业

BJTU1820 懒羊羊的作业 题目&#xff1a; 看过国产动画片的同学都知道&#xff0c;懒羊羊是一只非常懒的羊&#xff0c;整天除了吃就是睡&#xff0c;根本没有时间做作业。明天就是周一了&#xff0c;村长慢羊羊留的作业&#xff1a; 把 &#x1d45b; n 个整数从大到小排序…

计算分段函数

1、计算f(x)的值&#xff1a;输入x&#xff0c;计算并输出下列分段函数f(x)的值&#xff08;保留1位小数&#xff09;。试编写相应程序。 Yf(x)1/x (当x!0) Yf(x)0 (当x0) #include<stdio.h> int main(void){ float x,y; printf("Enter x:\n"); scanf("%f…

dataframe初始化

转载于:https://www.cnblogs.com/bafenqingnian/p/9152547.html