精卫填海

题目描述

【版权说明】

本题为改编题。

【问题描述】

发鸠之山,其上多柘木。有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。是炎帝之少女,名曰女娃。女娃游于东海,溺而不返,故为精卫。常衔西山之木石,以堙于东海。——《山海经》

精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,西山上的木石也已经不多了。精卫能把东海填平吗?

事实上,东海未填平的区域还需要至少体积为v的木石才可以填平,而西山上的木石还剩下n块,每块的体积和把它衔到东海需要的体力分别为k和m。精卫已经填海填了这么长时间了,她也很累了,她还剩下的体力为c。

输入格式

输入文件的第一行是三个整数:v、n、c。

从第二行到第n+1行分别为每块木石的体积和把它衔到东海需要的体力。

输出格式

输出文件只有一行,如果精卫能把东海填平,则输出她把东海填平后剩下的最大的体力,否则输出’Impossible’(不带引号)。

输入输出样例

输入 #1

100 2 10
50 5
50 5

输出 #1

0

输入 #2

10 2 1
50 5
10 2

输出 #2

Impossible

说明/提示

【数据范围】

对于20%的数据,0<n<=50。

对于50%的数据,0<n<=1000。

对于100%的数据,0<n<=10000,所有读入的数均属于[0,10000],最后结果<=c。

【解题思路】

将它转换为一般的背包,体积就是价值,体力就是体积,之后将耗费多少体力可以填多少体积枚举出来,当大于等于应填体积时,输出剩余体力减耗费体力即可,如果最后都达不到,出"Impossible";

【code】

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4 using namespace std;
 5 int i,j,v,n,c,ans,k[10005],m[10005],dp[10005];
 6 inline int max(int a,int b){
 7     return a>b?a:b;
 8 }
 9 int main(){
10     //freopen("1510.in","r",stdin);
11     //freopen("1510.out","w",stdout);
12     scanf("%d%d%d",&v,&n,&c);
13     for(i=1;i<=n;i++)
14         scanf("%d%d",&k[i],&m[i]);
15     ans=-1;
16     for(i=1;i<=n;i++)
17         for(j=c;j>=m[i];j--)
18             dp[j]=max(dp[j],dp[j-m[i]]+k[i]);
19     for(i=1;i<=c;i++)
20         if(dp[i]>=v)ans=max(ans,c-i);
21     if(ans==-1)printf("Impossible\n");
22     else printf("%d\n",ans);
23     return 0;
24 }

原文地址:https://www.cnblogs.com/66dzb/p/11257291.html

时间: 2024-11-10 02:58:57

精卫填海的相关文章

洛谷 P1510 精卫填海

P1510 精卫填海 题目描述 [版权说明] 本题为改编题. [问题描述] 发鸠之山,其上多柘木.有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨.是炎帝之少女,名曰女娃.女娃游于东海,溺而不返,故为精卫.常衔西山之木石,以堙于东海.——<山海经> 精卫终于快把东海填平了!只剩下了最后的一小片区域了.同时,西山上的木石也已经不多了.精卫能把东海填平吗? 事实上,东海未填平的区域还需要体积为v的木石才可以填平,而西山上的木石还剩下n块,每块的体积和把它衔到东海需要的体力分别为k和m.精卫已

P1510 精卫填海

题目描述 [版权说明] 本题为改编题. [问题描述] 发鸠之山,其上多柘木.有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨.是炎帝之少女,名曰女娃.女娃游于东海,溺而不返,故为精卫.常衔西山之木石,以堙于东海.——<山海经> 精卫终于快把东海填平了!只剩下了最后的一小片区域了.同时,西山上的木石也已经不多了.精卫能把东海填平吗? 事实上,东海未填平的区域还需要体积为v的木石才可以填平,而西山上的木石还剩下n块,每块的体积和把它衔到东海需要的体力分别为k和m.精卫已经填海填了这么长时间了

程序员生存定律--使人生永动的势能

程序员生存定律这系列的目录在这里:程序员生存定律--目录 喜欢从头瞄的,可以移步. ------------------------------------------------------------------------------ 这篇说的是精神,比较务虚,不感兴趣的可以略过. 在国内有一个很特别的现象:高中打了鸡血一样使劲学习的人,到了大学往往会放松下来,跑去享受生活了,大学里打游戏.打牌.临考冲刺的大有人在. 这倒也在情理之中,高中不学真考不上大学,考不上大学真就完蛋了:大学不学,

读侯凤章的散文

读侯凤章的散文 杨森翔 (一) 侯凤章的散文创作虽然开始于他的学生时代,但正式进入创作是在他走上工作岗位以后.也许是因为生活境遇的关系,他的散文对山区的人生和苦难有着特殊的情结.这可以理解为他理性的"载道".其实,经历了"文革"和新时期改革开放的历史阶段,尤其是改革开放时期中国社会经过政治.经济.文化等方面的历史转折,呈现了错综复杂的文化悖论现象,每个人都必须理性选择.理性面对身心裹挟其中的诸多人生问题.侯凤章作为生于斯.长于斯的山区职业教育工作者,既要无可规避地以

评鉴奇石须知石之六维

评鉴须知"石之六维" 从二十世纪80年代至今,我国奇石的收藏价格创造了从两位数飙升到九位数的"世界奇迹",堪称"疯狂".对此,储智广奉劝新石友们要理性对待,不断提高自我的赏石水平,以达到以石怡情.赏石养性的目的.那种"一夜暴富"的心理要不得. 在我国,最早创立奇石评鉴的是宋代书法四大家之一的米芾.他能诗文善书画,多藏奇石,有"拜石"之举.他提出鉴赏奇石的"四字诀",即"瘦.漏.

程序员工作法则,避免成为程序猿

这篇说的是精神,比较务虚,不感兴趣的可以略过. 在国内有一个很特别的现象:高中打了鸡血一样使劲学习的人,到了大学往往会放松下来,跑去享受生活了,大学里打游戏.打牌.临考冲刺的大有人在. 这倒也在情理之中,高中不学真考不上大学,考不上大学真就完蛋了:大学不学,只要能毕业,大致还能找到工作.但人生是场长跑,稍一停顿,后面的人就嗖嗖的窜到你前面了,虽然你不一定能看得到到底是谁.这很像龟兔赛跑,但为了避免不成为那只兔子,单靠口号层次的主观意愿是不行的. 停下来的人其实很多,有的人停在了大学里,有的人停在

你才20多岁,为什么总怕来不及---转载

[一] 前一段时间,有个94年的学妹给我打电话.她说,她很迷茫,很害怕.她说没想到一转身就大三了,很快就要大四了,感觉好像随时要毕业的样子.可是她回头去看过去的三年时光,她都不知道自己究竟干了些什么,读书没有好好读,恋爱也没有正经谈过,社团也只是随便打打酱油.她说感觉自己好失败,好像什么事情都做不好.不知道一个这样的自己,要如何面对明年的毕业? 她还说,但这样一个平庸的自己,身边却不乏厉害的人.她认识大一开始就利用寒暑假的时间四处旅行拍照的学姐,如今已经开始给旅行杂志供稿:她认识大二的时候就交换

[歪谈]经理该不该写代码?

这个话题我在好几个地方看到过,基本上大家的意见有几种: 1.小公司别说经理,老板都得写(这是在说我吗?) 2.一般到100或200人以上的公司,经理很少会直接参与代码的编写. 3.大公司(BAT?这个就不说了)一般经理级别以上不写代码 4.还有个观点支持率比较多:那就是要看公司是做产品的还就是做项目的.如果是做项目的一来公司肯定不会大,二来做项目的公司经理和员工一起写代码是很正常的:如果是做产品的,那么除了直系部门的经理会适当写些代码,大部分核心模块. 好吧,我先放出一些自己的观点,然后我们再做

MMORPG网页游戏斩仙录全套源码(服务端+客户端)

斩仙录全套源码(服务端+客户端),<斩仙录>是一款具有浓厚中国风的仙侠MMORPG网页游戏,游戏的背景取材于中国瑰丽多姿的神话故事和民间佳传,玩家可以穿越时空与不同时代的著名人物相遇,共同演绎改编自<山海经>.<白蛇传>.<倩女幽魂>.<画皮>.<精卫填海>.<西游记>.<封神榜>等传世佳作中的精彩桥段. 游戏的美术神话风很强,服务端用c++开发,网页端用flash as+js开发,含fla源文件,解压后702