2018大华软件大赛模拟赛第4题 (某股票操盘手账户里有N支股票,股价互不等)
题目:某股票操盘手账户里有N支股票,股价互不等,分别为v1,v2...vn;每支股票的持有股数为m1,m2...mn。
现在操盘手要回笼资金需要卖出股票,假设卖出价格即为当前股价,请问能回笼多少种不同的资金量。
比如:两支股票,股价分别为10、11,数量为1、2,则能回笼0、10、11、22、21、32,总共6种资金量
输入:输入的第一行指定用例数量T;
用例的第一行输入股票种类n;
用例的第二行输入股票的价格,以空格隔开;
用例的第三行输入股票的数量,已空格隔开;
输出:输出不同资金量的个数
限制: 1<=n<=10
1<=v<=20
1<=m<=6
Input:
1
2
10 11
1 2
Output:
6
这道题是个秤砣砝码的问题(动态规划)
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int fun(int n, int money[], int num[]) 5 { 6 int allmoney = 0 , i , j; 7 for(i = 0; i < n; i++) 8 { 9 allmoney = allmoney + money[i] * num[i]; //求所有的资金量 10 } 11 12 int flag[10000] = {0}; //判断存在的资金量 13 14 flag[allmoney] = 1; 15 //先计算第0种股票能够得到的资金里量,并且计算0种股票最大的资金量 16 int tempmoney = 0; 17 for(i = 0; i <= num[0]; i++) 18 { 19 flag[money[0] * i] = 1; 20 } 21 tempmoney = money[0] * num[0]; 22 23 i = 1; //第1种股票 24 int currentmoney; 25 int newmoney; 26 27 while(i < n) 28 { 29 int f[10000] ={0}; 30 for(j = 1; j <= num[i]; j++) 31 { 32 //采用试探的方法 逐次加1 33 for(currentmoney = 0; currentmoney <= tempmoney; currentmoney++) 34 { 35 newmoney = currentmoney + j * money[i]; 36 if(newmoney > allmoney) 37 { 38 break; 39 } 40 if(flag[currentmoney] && flag[newmoney] == 0 41 && currentmoney != money[i]) 42 { 43 f[newmoney] =1; 44 } 45 } 46 } 47 //更新已经存在的资金量 48 tempmoney = tempmoney + num[i] * money[i]; 49 for(int p = 0; p <= tempmoney; p++) 50 { 51 if(f[p]) 52 { 53 flag[p] = f[p]; 54 } 55 } 56 i++; 57 } 58 59 //统计数量 60 int count = 0; 61 for(i = 0; i < 10000; i++) 62 { 63 if(flag[i] == 1) 64 { 65 count++; 66 } 67 } 68 return count; 69 } 70 71 int main() 72 { 73 int n1, n2; 74 //int a[20] = {0}; 75 //int b[20] = {0}; 76 77 scanf("%d",&n1); 78 for(int k =0; k < n1; k++ ) 79 { 80 int count = 0; 81 scanf("%d",&n2); 82 int *a = (int *) calloc(n2,sizeof(int)); 83 int *b = (int *) calloc(n2,sizeof(int)); 84 85 for(int i = 0; i < n2; i++) 86 { 87 scanf("%d",&a[i]); 88 } 89 90 for(int i = 0; i < n2; i++) 91 { 92 scanf("%d",&b[i]); 93 } 94 for(int i =0; i < n2 -1; i++) 95 { 96 for(int j = 0; j < n2-i -1; j++) 97 { 98 if(a[j] > a[j+1]) 99 { 100 int t = a[j]; 101 a[j] = a[j+1]; 102 a[j+1] = t; 103 104 t = b[j]; 105 b[j] = b[j+1]; 106 b[j+1] =b[j]; 107 } 108 } 109 } 110 count = fun(n2,a,b); 111 printf("%d\n",count); 112 } 113 114 return 0; 115 }
转载于:https://www.cnblogs.com/leezheng/p/8971991.html
2018大华软件大赛模拟赛第4题 (某股票操盘手账户里有N支股票,股价互不等)相关推荐
- 6.26CF模拟赛D:黑白条题题解
6.26CF模拟赛D:黑白条题题解 题目描述 链接 文字描述 题目分析 代码实现 题目描述 链接 6.26CF模拟赛D题 文字描述 D. 黑白条 time limit per test2 s. mem ...
- 顶级操盘手的的6大高效自律习惯
操盘手很喜欢将自己的做单风格分为不同的类型.无论是盘中交易.剥头皮.波段还是一般的日内交易员,他们都会为自己的交易系统感到骄傲.同时这也是KlipC在研讨会上看到大家互问最普遍的问题之一:今日我们列出 ...
- 人才辈出各领风骚 中国股市十大操盘手排行榜
全天下第一条好汉 韩军 中国股市人才辈出,各领风骚三五载,而韩军则是常青树,他很少出现过困境,不像处于排行榜第二位和第三位的魏东.肖建华那样险些被大熊市灭掉.然而业内公认韩军为群雄之首的重要原因有三个 ...
- 2022年大数据技能大赛国赛(模块A,B)
2022年全国职业院校技能大赛(高职组) "大数据技术与应用" 赛项赛卷(1卷) 背景描述 大数据时代背景下,电商经营模式发生很大改变.在传统运营模式中,缺乏数据积累,人们在做出一 ...
- 【2018.10.20】noip模拟赛Day3 二阶和
今年BJ省选某题的弱化版-- 这看起来就没那么难了,有几种方法维护,这里提两种. 第一种(傻逼的我写的) 维护 一维&二维前缀和. 对于一个长度为$m$的序列$b_1,b_2,...,b_m$ ...
- 【jzoj】2018.1.30NOIP普及组——模拟赛D组
@_@ 前言 写博客时间 2018/1/30 22:36. 感想:出数据的dalao我服! 正题 题目1:二项式展开式(jzoj2254) 输入一个整数,求展开(a+b)^n.展开方式为 (a+b)^ ...
- 全国绿色计算大赛 模拟赛第三阶段
挑战任务 在代码世界中遨游是件妙不可言的故事,给开发者推荐新项目.新用户.新世界,有助于增强开源精神,提高开发者乐趣.本关源于国内知名开源社区的一个真实的业务需求,需要基于"绿色计算产业联盟 ...
- 【2018.10.18】noip模拟赛Day2 地球危机(2018年第九届蓝桥杯C/C++A组省赛 三体攻击)...
题目描述 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 $A × B × C$ 艘战舰,在太 空中排成一个 $A$ 层 $B$ 行 $C$ 列的立方体.其中,第 $i$ 层第 $j$ 行第 $k ...
- 第十二届蓝桥杯大赛模拟赛(第二期)
填空题 第一题 问题描述 小明要用二进制来表示 1 到 10000 的所有整数,要求不同的整数用不同的二进制数表示,请问,为了表示 1 到 10000 的所有整数,至少需要多少个二进制位? 答案提交 ...
最新文章
- 测试晶面间距软件_【干货】高分辨TEM晶面间距的测量与标定丨DM软件
- JSP复习(二):EL表达式
- nullnullDataTable 排序
- BZOJ 2288 贪心 +链表
- 敏捷软件开发实践-Sprint Setup Meeting
- CentOS7安装Redis,全网最快安装教程
- 数据结构基础知识(2)
- 蓝桥杯——基础练习之字母图形
- 30.卷1(套接字联网API)---客户/服务器程序设计规范
- Dlib Python 检测人脸特征点 Face Landmark Detection
- OpenCasCade由一个基础形状拉伸形成其它形状的问题
- 2018年中国区块链产业发展白皮书(附PDF下载)
- 迎奥运,20个帮助你塑造体形的网站
- Minecraft 1.12.2模组开发(二十一) 物品点击事件(发射火球、召唤生物)
- android用代码返回桌面
- 【元胞自动机】基于matlab元胞自动机多车道信号交叉口仿真【含Matlab源码 818期】
- 飞鱼星方案助山东小城印象实现微信营销
- 从《数学之美》中我想到的
- 图灵奖得主Yoshua Bengio:用因果打开AI的黑盒
- JustLaws 法律文库贡献指南
热门文章
- 开源数字媒体资产管理系统:Razuna安装方法
- ffmpeg 从内存中读取数据(或将数据输出到内存)
- AAC规格(LC,HE,HEv2)及性能对比
- win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
- tomcat重启时保持会话关闭
- Idea中上传项目到Github
- 搜索,贪心,DP,三者的区别和联系
- Kindle一些使用
- qoq是什么意思的缩写_有意思,“TTFN”居然是“再见”的缩写词,具体是指什么呢?...
- Python入门--多态