2019.12.31大一练习赛

寒假培训第一天,老师认为我们题做得太快了,于是晚上搞了一场练习赛。

第1题 QWQ和QAQ

Description
QWQ的朋友QAQ开了一个A工厂,但QAQ不是一个很精明的老板,A工厂只生产三种产品,需要三种原材料,第一种产品分别消耗第一种原材料a1、第二种原材料b1、第三种原材料c1,第二种产品分别是a2、b2、c2,第三种产品分别是a3、b3、c3,但原材料总量是有限制的,分别是a、b、c,第一种产品可以盈利d1元,第二种产品可以盈利d2元,第三种原材料可以盈利d3元,由于每个产品都不可以分解,所以所有产品的生产量一定是整数。QAQ不知道怎么合理安排生产让他的盈利最大,于是他求助QWQ,QWQ更不知道了,但你一定知道
Input
先输入一个数字t(t<20),代表数组的组数
每组数据包括五行
第一行三个数字a1、b1、c1
第二行三个数字a2、b2、c2
第三行三个数字a3、b3、c3
第四行三个数字a、b、c
第五行三个数字d1、d2、d3
保证所有输入都是非负整数,并且不大于200
Output
输出最大的总盈利
Sample Input
1
1 1 1
1 1 1
1 1 1
3 3 3
1 2 3
Sample Output
9

#include <bits/stdc++.h>
using namespace std;
int main()
{int t,a1,b1,c1,a2,b2,c2,a3,b3,c3,a,b,c,d1,d2,d3,maxn,sum;while(cin>>t){while(t--){cin>>a1>>b1>>c1>>a2>>b2>>c2>>a3>>b3>>c3>>a>>b>>c>>d1>>d2>>d3;    //这里直接暴力输入maxn=0;for(int i=0;i<=200;i++)        //暴力枚举,若原材料用量小于所拥有量即可for(int j=0;j<=200;j++)for(int k=0;k<=200;k++)if(a1*i+a2*j+a3*k<=a&&b1*i+b2*j+b3*k<=b&&c1*i+c2*j+c3*k<=c){sum=i*d1+j*d2+k*d3;        //记下盈利maxn=max(maxn,sum);      //求出最大盈利}cout << maxn << endl;}}return 0;
}

第2题 QWQ和神奇的传送器

Description
《无敌破坏王2》上映啦!QWQ作为Disney的忠实粉丝当然去贡献票房了。电影里的无敌破坏王和云妮洛普来到了互联网的世界,在这里,每个上网的人都是一个个虚拟的相同的小人物,当他们点击到某个网站时,虚拟的人物会乘坐一个神奇的传送器前往目的网站。
QWQ看到这个细节认为一个神奇的传送器只搭载一个人传输效率太低了,所以他觉得如果每个传送器能够搭载无数个人就好了,那么如果此时只有m个神奇的传送器,但有n个人等着被传送,不允许传送器有空载并且每个人看作是相同的,有多少种安排方式呢?
Input
先输入一个t,代表数据的组数
每组数据只有一行有两个数字,之间用一个空格作为间隔,分别代表m、n
保证1<=m<=n<=12
Output
对于每组数据,输出一个数字,代表安排方式的种数
Sample Input
1
1 2
Sample Output
1

这道题的意思是把n个人塞进m个传送器,且每个传送器至少有一个人。那么,我们可以想象有n个球,需要插上m-1个板,使其分成m个,其中两个板不允许重合。即在n个球中有n-1个空隙,在这n-1个空隙中挑选m-1个作为板的位置。所求的值为Cnm(n-1,m-1)。

#include <bits/stdc++.h>
using namespace std;
int jie(int n)          //求出n的阶乘
{int a=1;for(int i=2;i<=n;i++)a*=i;return a;
}
int Cnm(int n,int m)    //算出从n个中选出m个的方案数
{return jie(n)/jie(m)/jie(n-m);}
int main()
{int m,n,t;while(cin>>t){while(t--){cin >> m >> n;cout << Cnm(n-1,m-1) << endl;}}return 0;
}

第3题 QWQ和神秘商人

Description
众所周知,QWQ热衷于星际探险和旅行,一天他来到了K星,在这里他遇到了一位神秘的商人,这位商人手中有n个宝物,每个宝物都有一定的价格和珍藏值。如果QWQ想从商人手中购买宝物,就只能花费宇宙中唯一的通货——永恒宝石,但是在K星上关于购买宝物有奇怪的规定:
购买者手中永恒宝石的数量必须大于或者等于想要购买宝物的价格;
每当完成一个交易,购买者手中永恒宝石的数量就会变成所购买的宝物的价格,不论购买者原来有多少个永恒宝石;
现在,QWQ手中有k个永恒宝石,如果他想换取最大的珍藏值,这个值是多少呢?
Input
每组输入有三行
第一行 宝物数量n,初始宝石数量k
第二行 每一个宝物的价格
第三行 每个宝物的珍藏值
1 <= n <= 100000
其余输入均不大于100
Output
输出最大的珍藏值
Sample Input
5 6
2 4 6 8 10
1 50 10 2 50
Sample Output
61

#include <bits/stdc++.h>
using namespace std;
int main()
{int n,k;while(cin>>n>>k){struct preasure{      //结构体也可定义到main函数前面int price;int zhen;}a[n];for(int i=0;i<n;i++)   //输入宝物的价格cin >> a[i].price;for(int i=0;i<n;i++)cin >> a[i].zhen;  //输入宝物的珍藏值int sum=0;for(int i=0;i<n;i++) //当宝物的价格小于你初始宝石的数量时,表示你一定能买它if(k>=a[i].price)sum+=a[i].zhen;cout << sum << endl;}return 0;
}

第4题 QWQ和棋局挑战

Description
众所周知QWQ的棋艺已经到了独孤求败的地步,某日一位来自泰坦星的勇士前来向QWQ发起挑战,不过挑战的项目却非常奇怪:这位勇士要求QWQ在一个n x n大小的棋盘上放置k个棋子,并要求放置后的棋盘上每一行和每一列最多有一个棋子,显然这个问题是如此的简单,所以这位勇士要求QWQ告诉他这样的棋局共有多少种?
你能帮助QWQ解决这个问题么?
Input
每组输入占据一行
一行有两个数字 分别表示棋盘的大小n和要求放置的棋子k
0<n<9 , 0<k<=n
Output
每组输入占据一行
输出这样的棋局的种类数目
Sample Input
样例一:
2 1
样例二:
2 2
Sample Output
样例一:
4
样例二:
2

一道数学题,思路是第1颗棋子有n²个位置可以放,第2颗棋子有(n-1)²个位置可以放…故放置k颗棋子有n²(n-1)²…(n-k+1)²=(n!/(n-k)!)²种方法,但是这些方法有重复的,因为同一种棋盘因为放置棋子的顺序不同又有k!种,故有(n!/(n-k)!)²/k!种棋局。

#include <bits/stdc++.h>
using namespace std;
int main()
{int n,k;while(cin>>n>>k){int z=1;for(int i=n-k+1;i<=n;i++)z*=i;int a=z;for(int i=1;i<=k;i++)z/=i;z*=a;cout<<z<<endl;}return 0;
}

第5题 QWQ和彩色石

Description
QWQ来到了一个神奇的地方,这个地方有很多颜色不同的彩色石,每个颜色都可以用一个数字来代替,QWQ收集了一堆石子,他想知道这堆石子中颜色相同的石子个数的最大值
Input
第1行输入一个数字n,代表这堆石子的个数
第二行输入n个数,代表n个石子的颜色
保证输入的所有数都不超过100
Output
输出一个数字,代表颜色相同的石子个数的最大值
Sample Input
10
1 3 5 7 9 1 2 3 5 5
Sample Output
3

//桶排即可解决问题
#include <bits/stdc++.h>
using namespace std;
int a[101];
int main()
{int n,b;while(cin>>n){memset(a,0,sizeof(a));for(int i=0;i<n;i++){  //输入的是什么,就把那个桶里cin >> b;a[b]++;}int maxn=0,z=0;for(int i=1;i<101;i++)    //找出放的最多的那个桶maxn=max(maxn,a[i]);cout << maxn << endl;}return 0;
}

第6题 QWQ和翻译机

Description
QWQ拥有一台破烂的翻译机,作为他在星际旅行时候的必备物品,某日,他来的一颗名为倒置星的星球,这个星球上的所有东西都是倒置的,就连说话也要倒过来说,比如,translate在这颗星球上就是etalsnart,QWQ想依靠这台破烂的翻译机完成语言交流,然而,这台翻译机每次翻译的结果并不一定是正确的,你能告诉QWQ每次翻译的结果是否正确么?如果争取就输出’YES‘,否则输出’NO‘。
Input
每组输入占2行
第一行位QWQ想说的话
第二行位翻译机翻译的结果
每句话的长度不超过100个字符
Output
每组输出占一行
YES或者NO
Sample Input
样例一:
code
edoc
样例二:
abb
aba
Sample Output
样例一:
YES
样例二:
NO

#include <bits/stdc++.h>
using namespace std;
int main()
{char a[100],b[100];while(cin >> a >> b){int len1=strlen(a),len2=strlen(b);if(len1==len2){int i;for(i=0;i<len1;i++)if(a[i]!=b[len1-1-i])break;if(i>=len1)        //如果循环进行完毕,则正确cout << "YES" <<  endl;elsecout << "NO" << endl;}else      //如果这两个的字符长度不一致,肯定不正确cout << "NO" << endl;}return 0;
}

第7题 海贼的奖品赞助

Description
本次ACM校赛得到了海贼科技的小部分奖品的赞助(30个水杯),尽管赞助的奖品不多,但也是要感谢赞助商的!由于水杯是加急定制的,所以生产水杯的的过程和以往不同,从而导致了水杯的高度竟然是不一样的;规定水杯高度低于20.00CM 为不合格的产品,你能计算一下这批水杯的合格率吗?
Input
本题单组数据!
输入数据第一行为n,表示水杯的数量;接下来是这n个水杯的高度(实数);
Output
输出这批水杯的合格率(保留2位小数);合格率=合格数量/总数
Sample Input
5
19.23 18.00 21.00 22.00 20.00
Sample Output
0.60

#include <bits/stdc++.h>
using namespace std;
int main()
{int n;while(cin>>n){double high[n];for(int i=0;i<n;i++)cin >> high[i];int x=0;for(int i=0;i<n;i++)    //找出合格的杯子的数量if(high[i]>=20)x++;double z=(double)x/n; //强制转换注意下,否则会是int/int,会变成整除printf("%.2f\n",z);}return 0;
}

2019.12.31大一练习赛相关推荐

  1. 【小故事大智慧】学习,何为会与不会?------记2019.12.31与郭老师和米老师的聊天

    今天给大家分享一下,我与男神女神之间的小故事,小故事大智慧呦,希望大家可以共勉! 这样吧,先拿出我的杀手锏,给大家出两道小学二年级的乘法题好啦,注意呦,这可是男神出的,要重视啊,重视啊,重视哈---- ...

  2. 【每日早报】2019/12/31

    ✦ 人人全新App公测,正式回归社交市场 ✦ 小米电视宣布已提前完成2019年中国市场1000万台销量目标 ✦ 京喜宣布"京喜年货节"正式开启,发布"超级百亿补贴&quo ...

  3. 2019/12/31 教养

    "不出轨不是为了忠于谁,而是忠于自己的教养,忠于自己的婚姻,同时也是为了给自己孩子树立正确的三观,别让生你的和你生的人抬不起头". 很喜欢这段话!一生很短,寻找自己的真爱没错,找一 ...

  4. 2019.12.31罗振宇2020年跨年演讲《时间的朋友》精华全文版本——思维决定一个人的上限,能力决定一个人的下限

    pdf 链接:跨年演讲<时间的朋友>

  5. DayDayUp:广东卫视2018.12.31—2019财经跨年《遇见2018•预见2019》重点概览【文字+视频】

    DayDayUp:广东卫视2018.12.31-2019财经跨年<遇见2018•预见2019>重点概览[文字+视频] 警告:禁止一切形式的粘贴复制!如转载敬请留言告知!感谢尊重知识!尊重版 ...

  6. PowerBI 2019.12更新完美收官2019

    PowerBI 的2019年12月更新来了. 终于 PowerBI 完成了在 2019 年的进化.对于 12 月来说,最大的更新就是提供了主题设置,这使得我们彻底摆脱编写一个从来都不应该编写的JSON ...

  7. [2019.7.31~2019.8.15]纪中集训游记

    开坑 这是一篇(也许会变成一套)无聊的游记. https://jzoj.net/senior/ Day0(2019.7.31) 启程 如果没记错的话,与同学们相约在机场的时间应该是9:00,然而我10 ...

  8. DayDayUp:2019.12.30吴晓波2020年终秀演讲《预见2020:来海边,拾起信心》读后有感

    DayDayUp:2019.12.30吴晓波2020年终秀演讲<预见2020:来海边,拾起信心>读后有感 导读:2019年,过的好不好?有人豪情万丈,有人强颜欢笑. 互联网平台带来了方便快 ...

  9. AI+5G:2019.03.31第11届中国(深圳)IT领袖峰会【IT新未来: 5G与人工智能】内容概要

    AI+5G:2019.03.31第11届中国(深圳)IT领袖峰会[IT新未来: 5G与人工智能]内容概要 导读 5G+AI双核启动会更加珠联璧合.相得益彰. IOT 采集数据 → Deel Learn ...

最新文章

  1. 如何将语音转换成文字?转换方法介绍
  2. java越权发送邮件_已登录用户 越权 访问action方法怎么解决?
  3. java buqi_Java 异常
  4. python界面编程 plc_在python gui编程怎么运行
  5. 扩展DropDownList控件和ListBox控件(1) - 支持分组功能(optgroup标签)
  6. sed截取连接数升高时的慢日志
  7. 小技巧:如何在 js 中使用 apply 语法执行 new?
  8. AndroidSDK下载
  9. Mac用brew安装mysql
  10. 中国IP对讲产品市场深度研究分析报告
  11. 防火墙和代理服务器之间有什么区别
  12. Labview和三菱Q系列PLC通讯
  13. 1381:城市路(Dijkstra)
  14. python游戏开发框架_Python游戏开发:数字华容道
  15. C4D学习笔记2-动画-时间线及时间函数
  16. 一加7p鸿蒙rom,一加5和iPhone7 Plus哪个好?苹果7P与一加5区别对比
  17. 【纯干货】Linux内存管理(最透彻的一篇)
  18. 二叉树的创建和遍历(查找key,返回二叉树的层数)
  19. 【渝粤题库】陕西师范大学202051公共财政学作业(高起专)
  20. 高级API(UDP连接Map集合Collection集合)

热门文章

  1. Egret引擎制作旅行青蛙
  2. Magento compare products ajax
  3. 空间直角坐标系、大地坐标系、平面坐标系、高斯平面直角坐标系
  4. Win10设置虚拟机桥接连接
  5. 开发者除了技术硬实力之外,还有哪些不可或缺的软实力
  6. Unity 卡在 Rload Script Assemblies
  7. Day 5 E. Arranging The Sheep
  8. php 把ppt转pdf文件大小,ppt转换成pdf 怎么将ppt文件批量转换为pdf文件?ppt高质量转换pdf的方法...
  9. 一个app开发周期是多久?快速开发才是主流
  10. EduCoder-Web程序设计基础-html5—表格高级样式的设置-第2关:设置表格的外边框样式