题目描述

新一年度的猫狗大战通过SC(星际争霸)这款经典的游戏来较量,野猫和飞狗这对冤家为此已经准备好久了,为了使战争更有难度和戏剧性,双方约定只能选择Terran(人族)并且只能造机枪兵。

比赛开始了,很快,野猫已经攒足几队机枪兵,试探性的发动进攻;然而,飞狗的机枪兵个数也已经不少了。野猫和飞狗的兵在飞狗的家门口相遇了,于是,便有一场腥风血雨和阵阵惨叫声。由于是在飞狗的家门口,飞狗的兵补给会很快,野猫看敌不过,决定撤退。这时飞狗的兵力也不足够多,所以没追出来。

由于不允许造医生,机枪兵没办法补血。受伤的兵只好忍了。555-

现在,野猫又攒足了足够的兵力,决定发起第二次进攻。为了使这次进攻给狗狗造成更大的打击,野猫决定把现有的兵分成两部分,从两路进攻。由于有些兵在第一次战斗中受伤了,为了使两部分的兵实力平均些,分的规则是这样的:1)两部分兵的个数最多只能差一个;2)每部分兵的血值总和必须要尽可能接近。现在请你编写一个程序,给定野猫现在有的兵的个数以及每个兵的血格值,求出野猫按上述规则分成两部分后每部分兵的血值总和。

输入输出格式

输入格式:

第一行为一个整数n(1<=n<=200),表示野猫现在有的机枪兵的个数。以下的n行每行一个整数,表示每个机枪兵的血格(1<=ai<=40)。

输出格式:

一行,为两个整数,表示分成两部分后每部分兵的血值总和

输入输出样例

输入样例#1: 复制

3
35
20
32

输出样例#1: 复制

35 52

说明

TO 狗狗:这道题的数据范围我已经尽量按星际的游戏规则来了,如果你再固执于由于机枪兵的攻击力一定使不能达到某些血格值或者游戏中一定要造农民不能使机枪兵的人数达到200的话,我只能决定将那场猫狗大战的录像公开于世人了!!!

代码

#include<bits/stdc++.h>
using namespace std;
int n,a[210],f[2][210][80010],sum,ans=2000000000,dog,cat;
int main(){scanf("%d",&n);for(int i=1;i<=n;++i) scanf("%d",&a[i]),sum+=a[i];int now=1,pre=0,mid=n/2,m=sum/2; f[now][1][a[1]]=1; f[now][0][0]=1;for(int i=2;i<=n;++i){pre=now; now=1-now;for(int j=1;j<=mid;++j)for(int k=0;k<=m;++k){f[now][j][k]=f[pre][j][k];if(k-a[i]>=0)f[now][j][k]|=f[pre][j-1][k-a[i]];}}for(int i=0;i<=m;++i)if(f[now][mid][i]){int j=sum-i;if(abs(i-j)<ans){ans=abs(i-j);cat=i; dog=j;}}if(cat>dog) swap(cat,dog);printf("%d %d\n",cat,dog);return 0;
}

转载于:https://www.cnblogs.com/huihao/p/8047825.html

洛谷P1489 猫狗大战相关推荐

  1. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  2. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

  3. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

  4. 洛谷P2763 试题库问题

    题目:https://www.luogu.org/problemnew/show/P2763 题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性. ...

  5. 动态规划——洛谷_P1057传球游戏

    题目: 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球, ...

  6. 洛谷P1417 烹调方案

    洛谷P1417 烹调方案 如果是一般的01背包的话 选的先后是没关系的 但是这题选的先后是有关系的,因为他的价值是随着时间而变化的, 而你的01背包是做不到先选2再选1的 那么我们就跟国王游戏一样 用 ...

  7. 记忆优化搜索(简单题)(洛谷P3183 [HAOI2016]食物链 )( P5635 【CSGRound1】天下第一 )

    昨天做了蓝桥杯的时候,发现自己对于记忆优化搜索甚是不熟悉,所以今天随便找了几个基础题做做,顺便写下两片题解,顺便用了一下devc++敲的代码,发现没有代码补全真的可以说是灰常难受了... 洛谷P318 ...

  8. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  9. 洛谷专题训练 ——【算法1-1】模拟与高精度

    洛谷题单[算法1-1]模拟与高精度 ACM-ICPC在线模板 题单链接: [算法1-1]模拟与高精度 下面的这一坨都是洛谷题单上的东东 题单简介 恭喜大家完成了第一部分语言入门,相信大家已经可以使用 ...

最新文章

  1. P1801 黑匣子_NOI导刊2010提高(06)
  2. 深入理解Java虚拟机——程序编译与代码优化 (转)
  3. Spring Boot有四大神器
  4. 【实用】ALV 清单右击隐藏列失效的处理
  5. des算法明文IP置换C语言编程,求助攻:C语言DES算法的实现程序有问题
  6. [urllib]urlretrieve在python3
  7. 数据时代总结思维导图模板分享及绘制技巧
  8. 对上一篇博客问题的回应
  9. sql组合索引和独立索引_SQL索引概述和策略
  10. Ubuntu 下升级git到最新版
  11. Maximum Score After Splitting a String
  12. 通达信资金净流入公式_资金净流入(通达信)公式
  13. 【数据分析】《深入浅出统计学》要点总结
  14. 基于分段解析法的单自由度反应谱程序
  15. elasticsearch 基础 —— Parent-Child 父子关系(5.X老版本)
  16. linux mentohust dhcp,校园网锐捷 openwrt mentohust 成功开启IPv6
  17. HDFS遍历子目录 Hadoop fs -ls -R path
  18. 从业务架构师角度看区块链为什么以及如何改变世界
  19. HTML静态页面总体设计思路,网页设计与制作(HTML+CSS+JavaScript)(张洪斌 刘万辉)课程整体设计...
  20. 用opencv实现图片颜色反转

热门文章

  1. Android不刷机下的app2sd方法(dex cache占空间解决篇)
  2. 电桥-20151208
  3. 软件体系结构的第二次实验(解释器风格与管道过滤器风格
  4. [Kerberos] Kerberos教程(一)
  5. Python模块:Random(未完待续)
  6. (干货)一文了解导航电子地图领域有哪些前沿热点技术
  7. Hive学习之抽样(tablesample)
  8. 元认知能力-认知的理解
  9. hibernate left join fetch 出错的问题
  10. 文件复制-字节输入输出流的使用