POJ 3040 贪心
2024-08-31 14:38:45
贪心好题
……….
思路:
从大到小凑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);
}
最新文章
- Mac上idea快捷键
- SqlServer性能检测和优化工具使用详细(转)
- CSS3的calc()使用
- VS2015打开工程 未能正确加载“”包的问题
- 基于LDA对关注的微博用户进行聚类
- VS2010生成Qt程序图标修改方法
- cocos2d-x混合BlendFunc的使用
- 《Java程序书面采访猿收藏》之 instanceof的作用是什么
- 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第二弹)
- 数细胞-swust oj
- API接口开发简述
- postgresql和oracle数据库对比
- Kafka: Exactly-once Semantics
- python 之 string() 模块
- Centos7 安装 docker-ce
- mysql锁机制之综述(一)
- 实习小结(三)--- 权限管理(RBAC)
- Educational Codeforces Round 46 (Rated for Div. 2)
- jquery 判断checkbox状态
- webstorm的debug模式
热门文章
- [NOI2008]志愿者招募 网络流 建模
- websocket调试工具
- Android SDK Manager代理设置
- Unity C# 设计模式(四)抽象工厂模式
- [Recompose] Merge RxJS Button Event Streams to Build a React Counter Component
- BZOJ 1002 FJOI 2007 轮状病毒 暴力+找规律+高精度
- JAVA 不同类载入器命名空间的理解
- BZOJ1045: [HAOI2008]糖果传递&;BZOJ1465: 糖果传递&;BZOJ3293: [Cqoi2011]分金币
- 1.windows(64位)下使用curl命令
- HTTP 各种特性应用(二)