博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva-10670-贪心
阅读量:5738 次
发布时间:2019-06-18

本文共 1730 字,大约阅读时间需要 5 分钟。

题意:从N开始,目标是把数字变成M,每个代理有俩个操作,让数字减一或者变成一半,求最小的花费

能减半就减半.

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include"math.h"namespace cc{ using std::cout; using std::endl; using std::cin; using std::map; using std::vector; using std::string; using std::sort; using std::priority_queue; using std::greater; using std::vector; using std::swap; using std::stack; using std::bitset; class Input { public: char* name; int a=0; int b=0; int cost=0; Input() { name = new char[50]; }; }; constexpr int L = 110; Input ins[L]; bool cmp(Input& a, Input& b) { if (a.cost < b.cost) return true; if (a.cost > b.cost) return false; return strcmp(a.name, b.name) < 0; } void solve2(int LL, int N, int M) { for (int i = 0;i < LL;i++) { //计算花费 int h = N; while (h/2 >= M && (h - h/2) * ins[i].a >= ins[i].b) { ins[i].cost += ins[i].b; h = h / 2; } if (h > M) ins[i].cost += (h - M) * ins[i].a; } sort(ins, ins + LL, cmp); for (int i = 0;i < LL;i++) cout << ins[i].name << " " << ins[i].cost << endl; } void solve() { int cases; cin >> cases; int t = 1; while (cases--) { int N, M, LL; cin >> N >> M >> LL; for (int j = 0;j < LL;j++) { char* strs = new char[100]; cin >> strs; Input inss; sscanf(strs, "%[^:]:%d,%d", inss.name, &inss.a, &inss.b); ins[j] = inss; } cout << "Case " << t << endl; t++; solve2(LL, N, M); } }};int main(){#ifndef ONLINE_JUDGE freopen("d://1.text", "r", stdin);#endif // !ONLINE_JUDGE cc::solve(); return 0;}

  

posted on
2019-01-13 23:45 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/10264838.html

你可能感兴趣的文章
查看Linux并发连接数
查看>>
你是谁不重要,关键是你跟谁!
查看>>
CSS中规则@media的用法
查看>>
pychecker:分析你的python代码
查看>>
css 默认不显示 之后显示
查看>>
我的友情链接
查看>>
DNS显性+隐性URL转发原理
查看>>
我的友情链接
查看>>
网易有道 IP地址、手机号码归属地和身份证 查询接口API
查看>>
鼠标停留在GridView某一行时行的颜色改变
查看>>
系列3:WAS Liberty Profile hello mysql jdbc
查看>>
基础知识:python模块的导入
查看>>
Android MVC之我的实现
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
关于批处理-1
查看>>
Tomcat部署Web应用方法总结
查看>>
Python3 django2.0 字段加密 解密 AES
查看>>
CCNA实验之:网络地址转换(NAT)实验
查看>>
计算机网络原理笔记-停止等待协议
查看>>