POJ 3040 贪心
来源:互联网 发布:mac开机启动迅雷 编辑:程序博客网 时间:2024/06/14 09:06
贪心好题
……….
思路:
从大到小凑C 如果不够 再从小到大补满(超过)C
//By SiriusRen#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,c,ans,flag,vis[21];struct Money{int amount,value;}money[100];bool cmp(Money a,Money b){return a.value<b.value;}int main(){ scanf("%d%d",&n,&c); for(int i=1;i<=n;i++) scanf("%d%d",&money[i].value,&money[i].amount); sort(money+1,money+1+n,cmp); while(1){ memset(vis,0,sizeof(vis)); int sum=c; for(int i=n;i;i--) if(sum>0&&money[i].amount){ int temp=min(money[i].amount,sum/money[i].value); if(temp>0)sum-=money[i].value*temp,vis[i]+=temp; } for(int i=1;i<=n;i++) if(sum>0&&money[i].amount&&money[i].value>=sum){ sum-=money[i].value;vis[i]++;break; } if(sum>0)break; for(int i=1;i<=n;i++) money[i].amount-=vis[i]; ans++; } printf("%d\n",ans);}
卡时过得…
然后我发现 诶呦 一次可以同时消很多 然后就0msAC了,,,,
//By SiriusRen#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,c,ans,flag,vis[21];struct Money{int amount,value;}money[100];bool cmp(Money a,Money b){return a.value<b.value;}int main(){ scanf("%d%d",&n,&c); for(int i=1;i<=n;i++) scanf("%d%d",&money[i].value,&money[i].amount); sort(money+1,money+1+n,cmp); while(1){ memset(vis,0,sizeof(vis)); int sum=c,temp=0x3ffffff; for(int i=n;i;i--) if(sum>0&&money[i].amount){ int temp=min(money[i].amount,sum/money[i].value); if(temp>0)sum-=money[i].value*temp,vis[i]+=temp; } for(int i=1;i<=n;i++) if(sum>0&&money[i].amount&&money[i].value>=sum){ sum-=money[i].value;vis[i]++;break; } if(sum>0)break; for(int i=1;i<=n;i++){ if(!vis[i])continue; temp=min(temp,money[i].amount/vis[i]); } for(int i=1;i<=n;i++){ money[i].amount-=vis[i]*temp; } ans+=temp; } printf("%d\n",ans);}
0 0
- POJ 3040 Allowance 贪心
- poj 3040 Allowance 贪心
- 贪心-poj-3040-Allowance
- poj 3040 Allowance(贪心)
- poj 3040 Allowance (贪心)
- Allowance - POJ 3040 贪心
- Allowance (poj 3040 贪心)
- poj 3040 Allowance贪心
- POJ 3040 Allowance 贪心
- poj 3040 <经典贪心>
- POJ-----3040贪心
- 贪心 POJ 3040
- POJ 3040 贪心
- POJ 3040 (贪心)
- poj 3040 贪心
- POJ 3040 Allowance 贪心
- POJ 3040 Allowance 贪心
- 【贪心】Allowance POJ 3040
- Redis系列~键(key)(五)
- GBDT(MART) 迭代决策树入门教程 | 简介
- redis-主从配置
- 蚂蚁森林的新发现
- Redis系列~字符串(String)(六)
- POJ 3040 贪心
- 用canvas实现钟表功能
- Python3声明常量
- Tomcat启动失败:端口被占用
- 成功安装mysql后,为何服务管理器里找不到MYSQL服务名和mysql安装出现Install/RemoveoftheServiceDenied!
- 网站头部 html
- Redis系列~哈希(Hash)(七)
- LeetCode 119. Pascal's Triangle II
- 2016.10.27打表 距NOIP23天