AtCoder Regular Contest 083 C: Sugar Water
2017-09-16 21:46
369 查看
题意
给你一个空杯子,有4种操作:操作1 加100a克的水
操作2 加100b克的水
操作3 加c克的糖
操作4 加d克的糖
糖的质量不能超过水的质量e/100
糖和水的总质量不能超过f
糖的质量不能超过水的质量a/100
在此前提下糖的浓度最大
输出糖和水的总质量以及糖的质量
分析
根据原题数据范围,可以直接三重for循环枚举操作1,2,3的次数.坑点在于不能没有水,因此最大浓度下不能加糖时至少要有100a克的水.
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int main(){ int a,b,c,d,e,f; scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f); int ans1=0,ans2=0;double rate=0.0; for(int i=0;i*100*a<=f;++i){ for(int j=0;j*100*b+i*100*a<=f;++j){ if(i+j==0)continue; int sum=j*100*b+i*100*a; int lim=min(sum/100*e,f-sum); for(int k=0;k*c<=lim;++k){ int l=(lim-k*c)/d; int sugar=l*d+k*c; if(double(sugar)/sum>rate){ rate=double(sugar)/sum; ans1=sum+sugar;ans2=sugar; } } } } if(rate==0)printf("%d %d\n",100*a,0); else printf("%d %d\n",ans1,ans2); return 0; }
相关文章推荐
- AtCoder Regular Contest 083 D: Restoring Road Network
- AtCoder Regular Contest D - Remainder Reminder 取余问题
- AtCoder Regular Contest 092 C - 2D Plane 2N Points 贪心 匈牙利算法模板
- AtCoder Regular Contest 097
- AtCoder Regular Contest 100 E - Or Plus Max
- AtCoder Regular Contest 078 D
- AtCoder Regular Contest 069 F - Flags 2-SAT+线段树优化建图
- AtCoder Regular Contest 089
- Atcoder Regular Contest 089D Checker
- AtCoder Regular Contest 076 E - Connected? 乱搞
- AtCoder Regular Contest D - Remainder Reminder 取余问题
- AtCoder Regular Contest 091 E - LISDL
- AtCoder Regular Contest 092 C - 2D Plane 2N Points 贪心 匈牙利算法模板
- AtCoder Regular Contest 074F - Lotus Leaves
- AtCoder Regular Contest 075
- AtCoder Regular Contest 078
- AtCoder Regular Contest 079 D - Decrease (Contestant ver.)
- AtCoder Regular Contest 081 D - Coloring Dominoes
- AtCoder Regular Contest 082
- AtCoder Regular Contest 069 F - Flags