桐桐的贸易--WA
问题 A: 桐桐的贸易
时间限制: 1 Sec 内存限制: 64 MB
提交: 15 解决: 2
[提交][状态][讨论版]
题目描述
桐桐家在Allianceance城,好友ROBIN家在Horde城,假期,ROBIN邀桐桐去Horde城旅游。聪明的桐桐发现,A11iance城与Horde城的市场上的某些商品存在着很大的差价。可以从中获取相当可观的利润。为了赚回这次旅游的花费,桐桐决定在Alliance城购买一些商品,到Horde城以当地市场价卖掉,然后在Horde城买一些商品,再回到Alliance城卖掉。这样一个来回,桐桐可以赚到不少钱。
通过商业调查,他已经在出发前就知道了Alliance城和Horde城的各种商品的价格。在他现有的资产的前提下,他希望能够在一次旅行中赚取尽可能多的金币。那么请你设计一个程序,为桐桐设计一个购买方案,使一次来回能够赚到最多的金币。
输入
第1行,两个整数N、M(1≤N≤100000;1≤M≤100),表示他在出发前有N个金币,Allian和Horde的市场中都有M种商品。
第2~M+l行,每行两个整数Ai、Bi,表示第i种商品在Alliance城的市场价为Ai,在市场价为Bi。
输出
第1行,一个整数,桐桐一次来回最多能够赚到的金币数。最后结果不超过4000000。
第2―M+l行,第i+l行为第i个商品的购买方法,输出一个句子。如果要从Alliance购买k个,输出“Buy k from Alliance”,如果要从Horde购买k个,输出“Buy k from Horde”,如果不需要购买,输出“Buy 0"。如果多个的方案赚得的金币都是最大,则输出购买的商品序号最靠前的这种方案。
样例输入
- 23 5
- 6 9
- 11 7
- 3 2
- 4 6
- 5 3
样例输出
- 33
- Buy 3 from Alliance
- Buy 1 from Horde
- Buy 0
- Buy 1 from Alliance
- Buy 9 from Horde
提示
初始时,桐桐在A11iance城,他有23个金币,这时他购买3个商品1,1个商品4,花费3×6+1×4=22个金币,剩余1个金币。到达Horde城,他把它们卖掉,可以获得3×9+1×6=33个金币,赚了11个金币。这时,他用他的34个金币,在Horde城购买1个商品2,9个商品5,花费l×7+9×3=34个金币。回到Alliance城,卖掉可以获得1×11+9×5=56个金币,赚了22个金币。与起始时他的23个金币相比,他赚了33个金币。
没改对。
代码:
- #include <iostream>
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- typedef struct node{
- int a;
- int b;
- int c;
- };
- node no[];
- int cmp(int a,int b){
- return no[a].b-no[a].a>no[b].b-no[b].a;
- }
- int main()
- {
- int n;
- int m;
- int l=;
- int p=;
- int aa[];
- int shifou_aa[]={};
- int bb[];
- int shifou_bb[]={};
- int k=;
- int sum1=;
- int sum2=;
- int sum=;
- scanf("%d %d",&n,&m);
- for(int i=;i<m;i++){
- scanf("%d %d",&no[i].a,&no[i].b);
- if(no[i].a<no[i].b){
- no[i].c=;
- }else{
- no[i].c=;
- }
- }
- for(int i=;i<m;i++){
- if(no[i].c==){
- for(int j=;j<n/no[i].a;j++){
- aa[k++]=i;
- }
- }
- }
- sort(aa,aa+k-,cmp);
- for(int i=;i<k;i++){
- l+=no[aa[i]].a;
- shifou_aa[i]=;
- if(l<=n){
- p=i;
- }else{
- l-=no[aa[i]].a;
- shifou_aa[i]=;
- continue;
- }
- }
- for(int i=;i<=p;i++){
- if(shifou_aa[i]==){
- sum1+=no[aa[i]].b-no[aa[i]].a;
- }
- }
- sum=n;
- n+=sum1;
- for(int i=;i<m;i++){
- int temp=no[i].a;
- no[i].a=no[i].b;
- no[i].b=temp;
- }
- ////////////////
- l=;
- for(int i=;i<m;i++){
- if(no[i].c==){
- for(int j=;j<n/no[i].a;j++){
- bb[k++]=i;
- }
- }
- }
- sort(aa,aa+k-,cmp);
- for(int i=;i<k;i++){
- l+=no[bb[i]].a;
- shifou_bb[i]=;
- if(l<=n){
- p=i;
- }else{
- l-=no[bb[i]].a;
- shifou_bb[i]=;
- continue;
- }
- }
- for(int i=;i<=p;i++){
- if(shifou_bb[i]==){
- sum2+=no[bb[i]].b-no[bb[i]].a;
- }
- }
- int sss=sum1+sum2;
- printf("%d %d %d",sum1,sum2,sss);
- return ;
- }
桐桐的贸易--WA的更多相关文章
- Vijos P1325桐桐的糖果计划
> P1325桐桐的糖果计划 标签:**图结构 强连通分量** 描述 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致他不得不等到塞的车或人走 ...
- vijos1325 桐桐的糖果计划
Description 桐桐是一个快乐的小朋友,他生活中有许多许多好玩的事,让我们一起来看看吧-- 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致 ...
- 桐桐的数学游戏(N皇后)
题目描述 相信大家都听过经典的“八皇后”问题吧?这个游戏要求在一个8×8的棋盘上放置8个皇后,使8个皇后互相不攻击(攻击的含义是有两个皇后在同一行或同一列或同一对角线上). 桐桐对这个游戏很感兴趣,也 ...
- 桐桐的糖果计划(vijos 1325)
背景 桐桐是一个快乐的小朋友,他生活中有许多许多好玩的事,让我们一起来看看吧…… 描述 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致他不得不等到 ...
- 【2018寒假集训 Day1】【位运算】桐桐的运输方案
桐桐的运输方案(transp) [问题描述] 桐桐有 N 件货物需要运送到目的地,它们的重量和价值分别记为: 重量:W1,W2,…,Wn: 价值:V1,V2,…,Vn: 已知某辆货车的最大载货量为 X ...
- VIJOS-P1325 桐桐的糖果计划
VIJOS-P1325 桐桐的糖果计划 JDOJ 1432 桐桐的糖果计划 https://neooj.com/oldoj/problem.php?id=1432 Description 桐桐很喜欢吃 ...
- Java实现桐桐的数学难题
桐桐的数学难题 题目描述 今天数学课上,桐桐学习了质数的知识:一个正整数如果只能被1和它本身整除,那么这个整数便是质数.桐桐就想:任意一个正整数是否都能分解成若干个质数相乘的形式呢?输入一个正整数n( ...
- Vijos P1325桐桐的糖果计划(有向图双连通分量)
/*重边不能删 不能删 不能删...*/ #include<iostream> #include<cstdio> #include<cstring> #define ...
- 奇怪的电梯(HDU1548) (Dijkstra)或者(BFS)
问题 E: 奇怪的电梯 时间限制: 1 Sec 内存限制: 64 MB提交: 35 解决: 16[提交][状态][讨论版] 题目描述 有一天桐桐做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都 ...
随机推荐
- 【URAL 1917】Titan Ruins: Deadly Accuracy(DP)
题目 #include<cstdio> #include<algorithm> using namespace std; #define N 1005 int n, m, cn ...
- 使用FMDB事务批量更新数据库
今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程.触发器.事务等等这些名词的概念,但是由于毕业后从事的不是服务器 ...
- php复习
最近要用php,好久不用感觉手生.抓起<零基础学PHP>一书复习了下,顺带学了smarty模板语言,然后到慕课网看了些php中级视频教程,这里记录下. php最基本的文件上传 不用任何第三 ...
- POJ2485Highways(prime 水题)
Highways Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26516 Accepted: 12136 Descri ...
- POJ2049Finding Nemo(bfs + 构图)
Finding Nemo Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 8456 Accepted: 1975 Desc ...
- view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的
view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的,就是没有name属性,后台获取不到值
- JDK,JRE,JVM区别与联系(ZZ)
http://www.cnblogs.com/hencehong/p/3252166.html 我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JD ...
- 求任意长度数组的最大值(整数类型)。利用params参数实现任意长度的改变。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- JDBCTemplate基础学习
JDBCTemplate:spring提供的用于操作数据库的模板,类似DbUtils.使用时必须设置数据源(DataSource):数据源如DBCP.C3P0等 一.JDBCAPI简单使用Demo 1 ...
- python 与 mysql
1.开发环境: 1)CLion-2016.1.3 C/C++ 与 Python 混合编程 IDE,先安装好以下 2) 3) 编译器再关联 2)tdm-gcc-4.8.1-3 C/C++ 编译器 3)W ...