前言:
本人之前处于瓶颈期,连续4次欢乐赛没AK,今天也是重回巅峰拿下第20名!
第二次写哈,应该能比第一次好点了。。。
废话不多说上题解
T1:整数部分
这题没什么好说的纯属签到,有好几种方法,int()或floor()函数都可以,也可以直接不用double定义直接上int,我在此用本人原代码
本题C++代码如下:
T2:差值最大
这题我个人觉得Python好写一点,只需用一个列表加max与min函数就行了,最后相减。
C++也一样,不过需要稍微分析一下,输出那一行大概是这样的cout<<max(a,max(b,c))-min(a,min(b,c));其实和Python差不多
本题Python代码如下:
T3:寻找倍数
本题就是先输入一个二维数组,接着把这个数组用二重循环遍历一下,寻找m的倍数并建立一个变量存储倍数个数,最后输出这个变量,简单至极。
其实我也是在Dev里试了三次
本题C++代码如下:
T4:冒泡排序
这题直接在冒泡排序框架的基础上改动一下就好了,注意交换位置的函数是swap(),两次循环的次数分别是m和n-i。
如果有人没学过冒泡排序,不要慌,冒泡的精髓凝结成一句话就是:
每次遍历时将相邻两个数作比较,前面比后面大就将前面的移动到后面!
本题C++代码如下:
T5:最短路径
这题绝对是最难的一题!但我发现好像用优先搜索是最麻烦的。。。一个while循环就能解决竟然被我整这么复杂
先定义BFS函数表示最少次数,接着我用n1和n2来表示两种不同的运算方式,最后输出不解释。
本题C++代码如下:
T6:组队问题
这题我本来以为挺难,结果硬是十几行干出来了。
其实本题灵活动脑是很简单的,因为题目中这两种总人数都为3人只需用(a+b)/3和a与b的最小值求最小值就行了,也就是缩水之后的公式而已。
本题C++代码如下:
THE END