寒冰王座(完全背包+多解)

欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院

寒冰王座

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 12875    Accepted Submission(s): 6548


Problem Description
不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.

死亡骑士:"我要买道具!"

地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个."

死亡骑士:"好的,给我一个血瓶."

说完他掏出那张N元的大钞递给地精商人.

地精商人:"我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿."

死亡骑士:"......"

死亡骑士想,与其把钱当小费送个他还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是要尽量少让他赚小费.

现在死亡骑士希望你能帮他计算一下,最少他要给地精商人多少小费.

 

Input
输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量.然后是T行测试数据,每个测试数据只包含一个正整数N(1<=N<=10000),N代表死亡骑士手中钞票的面值.

注意:地精商店只有题中描述的三种道具.

 

Output
对于每组测试数据,请你输出死亡骑士最少要浪费多少钱给地精商人作为小费.

 

Sample Input
2 900 250

 

Sample Output
0 50
背包代码:
 1 #include<stdio.h>
 2 #include<string.h>
 3 int money[10010],m[3]={150,200,350};
 4 int main(){
 5     int T,n;
 6     scanf("%d",&T);
 7     while(T--){
 8         scanf("%d",&n);
 9         memset(money,0,sizeof(money));
10             for(int i=0;i<3;++i){
11                 for(int j=m[i];j<=n;j++)if(money[j-m[i]]+m[i]>money[j])money[j]=money[j-m[i]]+m[i];
12             }
13         printf("%d\n",n-money[n]);    
14     }
15     return 0;
16 }

 另一种解法:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define MAX(x,y)(x>y?x:y)
 4 int main(){
 5     int T,N;
 6     scanf("%d",&T);
 7     while(T--){
 8             int ans=0;
 9         scanf("%d",&N);
10         int a,b,c;
11         a=N/150;b=N/200;c=N/350;
12         for(int i=0;i<=a;i++){
13         for(int j=0;j<=b;j++){
14         for(int k=0;k<=c;k++){
15                     if(150*i+200*j+350*k<=N&&ans<150*i+200*j+350*k)
16                                 ans=150*i+200*j+350*k;
17             }
18         }
19     }
20     printf("%d\n",N-ans);
21 }
22     return 0;
23 }

 

转载于:https://www.cnblogs.com/handsomecui/p/4625876.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习--Matlab使用LSTM长短期记忆网络对负荷进行预测

一、LSTM描述 长短期记忆网络&#xff08;LSTM&#xff0c;Long Short-Term Memory&#xff09;是一种时间循环神经网络&#xff0c;是为了解决一般的RNN&#xff08;循环神经网络&#xff09;存在的长期依赖问题而专门设计出来的&#xff0c;所有的RNN都具有一种重复神经网络…

计算机桌面怎么全屏显示,电脑显示器如何设置成满屏

在有些时候我们的网友不清楚电脑显示器如何设置成满屏&#xff0c;那么下面就由学习啦小编来给你们说说电脑显示器设置成满屏的方法吧&#xff0c;希望可以帮到你们哦!电脑显示器设置成满屏的方法&#xff1a;右击桌面&#xff0c;选择弹出对话框中的【屏幕分辨率】如下图。弹出…

“优势”三说

故事1 朋友的朋友&#xff0c;极具预言天赋。留学国外多年&#xff0c;精通英语、日语、法语、德语、西班牙语&#xff0c;甚至对阿拉伯语和俄语也颇有造诣。做了若干年海外游子之后&#xff0c;看到祖国的日新月异&#xff0c;毅然决定回国发展。他自己认为&#xff0c;就凭着…

Matlab中求数据概率分布的方法

一、问题描述 对已有的一些列数据进行分析&#xff0c;想得到该数据的分布和统计特性&#xff0c;如概率密度函数&#xff0c;概率分布&#xff0c;累计概率密度等等。 例如&#xff0c;已有一段时间的声音测量数据&#xff0c;求该数据的分布特性&#xff0c;并给出噪声的95…

gvim同时处理中日韩文

From: http://xbeta.info/gvim-unicode.htm 一、两项要点 gvim处理多国文字(unicode)有两项要点&#xff1a;一是编码环境&#xff1a;set encutf-8&#xff1b;二是正确的字体&#xff0c;比如要正确显示韩文可选择GulimChe、DotumChe字体。 上图中9-12行字符未能正常显示&a…

获取浏览器可视区域、屏幕的宽和高

document.documentElement.clientWidth&#xff1a;取得浏览器页面可视区域的宽度document.documentElement.clientHeight&#xff1a;取得浏览器页面可视区域的高度screen.width&#xff1a;取得屏幕宽度screen.height&#xff1a;取得屏幕高度screen.availWidth&#xff1a;取…

matlab设置plot图像尺寸大小、坐标轴等

Matlab作为工程中的数据可视化工具是非常的方便的。但是在具体的生成过程中通常会遇见以下几个比较常见的问题&#xff0c;这里以我最近在写论文中用图遇到的问题作为例子。简要说明输出图像大小位置规范的重要性。 1&#xff1a;colorbar的位置大小范围不一致、不合理 2&#…

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO) http://www.microsoft.com/downloads/en/details.aspx?FamilyID71deb800-c591-4f97-a900-bea146e4fae1&displaylangen转载于:https://www.cnblogs.com/joshuali/archive/2011/03/22/4339226.html

计算机基础知识excle,职称计算机基础知识:Excel工作表的复制

(1)在工作簿内部复制1)鼠标拖曳法将鼠标指针指向被复制的工作表标签&#xff0c;按下Ctrl键&#xff0c;按下鼠标&#xff0c;此时鼠标指针变成内含“十”字形的表的图标&#xff0c;同时旁边的黑色倒三角用以指示工作表的复制位置。沿着标签区域拖动鼠标到达复制点后释放鼠标&…

Makefile中 变量赋值含义

From: http://hi.baidu.com/linuxking/item/aab87527ac88550a76272c91 作者联系方式&#xff1a;李先静 <xianjimli at hotmail dot com> 在Makefile中&#xff0c;对变量的赋值&#xff0c;有好几种方式&#xff0c;它们的意义、使用的场合都各不相同&#xff0c;初…

Matlab中设置图形窗口的大小、字体、axis等

快捷键 首先要了解的是Matlab是面向对象的。最高等级的对象是screen&#xff0c;它定义了figure可以用的最大szie。screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化&#xff0c;screen是不会跟着变化的。但screen变化的话&#xff0c;fig…

南开大学计算机科学与技术考研真题,2016年南开大学计算机科学与技术考研考试科目-考研参考书-考研真题.pdf...

2016年南开大学计算机科学与技术考研考试科目-考研参考书-考研真题研究方指导专业研究 拟招生专业 考试科目向 教师方向备注 人数计算机综①101思想政合基础含&#xff1a;081200 01并行 治理论②201数据结构计算机 与分布 Y101M7 英语一③301​ 75分、计算科学与 体系结 5 数学…

MMN实用架构过程概览

MMN&#xff08;Macro-Micro-Nano&#xff0c;即宏观-微观-纳米&#xff09;实用架构过程初步体现了我的架构观&#xff1a;即以实用主义态度把握架构原则与本质思想&#xff0c;从系统的各个层次剖析架构&#xff0c;提供一个具有指导意义和实施价值的架构过程&#xff0c;采取…

实践分享:开始用Cordova+Ionic+AngularJS开发App

http://www.cocoachina.com/webapp/20150707/12395.html 本文是一篇关于我本人在使用CordovaIonic以及AngularJS开发移动App的过程中的经验的总结&#xff0c;它不是一篇基础入门教程&#xff0c;而是和大家探讨一下关于如何更好的使用这些技术开发一个更好的App。 声明&#x…

git仓库的基本用法

一、简介 git是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的项目。git很容易学习&#xff0c;而且它的占用资源很小&#xff0c;性能也非常好。它超越了subversion、cvs、perforce和clearcase等scm工具&#xff0c;具有廉价的本地分支、…

React开发(249):react项目理解 ant design form加个扩展样式

<Form.Item label"详细地址&#xff1a;" wrapperCol{{ xs: { span: 14 },sm: { span: 14 } }}>{getFieldDecorator(address, {initialValue: type update? activeUpdateData.address : ,rules: [{ message: 请输入详细地址}],})(<Input.TextArea autoSiz…

重庆邮电计算机科学分数线,2020重庆邮电大学录取分数线已公布

重庆邮电大学录取分数线已经陆续出现&#xff0c;下面由出国留学网小编为你精心准备了“2020重庆邮电大学录取分数线已公布”&#xff0c;持续关注本站将可以持续获取高考资讯&#xff01;2020重庆邮电大学录取分数线已公布很多家长和考生们都想知道2020年重庆邮电大学的高考分…