历年云南大学计算机复试上机真题

历年云南大学计算机复试机试真题

在线评测:传送门:pgcode.cn

喝饮料

题目描述

商店里有 n 中饮料,第 i 种饮料有 mi 毫升,价格为 wi。

小明现在手里有 x 元,他想吃尽量多的饮料,于是向你寻求帮助,怎么样买才能吃的最多。

请注意,每一种饮料都可以只买一部分。

输入格式

有多组测试数据。

第一行输入两个非负整数 x 和 n。

接下来 n 行,每行输入两个整数,分别为 mi 和 wi。

所有数据都不大于 1000。

x 和 n 都为-1 时程序结束。

输出格式

请输出小明最多能喝到多少毫升的饮料,结果保留三位小数。

输入样例
复制代码
233 6 
6 1
23 66
32 23
66 66
1 5
8 5
-1 -1
输出样例
复制代码
136.000

斐波那契数列

题目描述

存在如下数列 1、1、2、4、7、13、24、44、81、149......,现要求该数列第 n 项的值(n 从 0 开始算)。

输入格式

输入包含多组测试数据,每组数据包含一个整数 n(0<=n<=70)。

输出格式

每组输出只占一行,包含一个整数,表示该数列第 n 项的值。

输出结果用 64 位数字保存。

输入样例
复制代码
0
1
2
3
4
5
6
7
8
9
输出样例
复制代码
1
1
2
4
7
13
24
44
81
149

这是第几天?

题目描述

输入一个年月日的有效日期,输出这一天是今年第几天?

输入格式

如题。

输出格式

如题。

输入样例
复制代码
2018-01-11
输出样例
复制代码
11

矩阵位置

题目描述

给定一个 3*3 的矩阵如下,请输出给定值在矩阵中的位置。

1 2 3

4 5 6

7 8 9

输入格式

多组输入。

输入一个 1 到 9 之间的数,请输出该数在矩阵中是第几行第几列。

输出格式

如题输出。

输入样例
复制代码
1
2
9
输出样例
复制代码
1 1
1 2
3 3

字符游戏

题目描述

小明又得到了一个字符数组,每个字符都是 a-z 其中的一个,你需要统计出每种字符出现的次数,他的幸运数字还是 5 和 7,所以需要你按出现顺序输出其中个数是 5 和 7 的倍数的字符,并输出其个数。

输入格式

第一行包含一个正整数 n(1<=n<=1000),第二行是一个含有 n 个字符的字符数组

输出格式

按题意输出

输入样例
复制代码
24
aaaaabbbbbbbbbbccddddddd
输出样例
复制代码
a 5
b 10
d 7

字符值

题目描述

给定一个字符串 S,s1 为 S 的子串,求 s1 的 ASCll 值之和。

输入格式

输入:

第一行输入一行字符串 S(不含空格)。

第二行输入一个整数 n,代表有 n 次询问。

接下来 n 行,每行两个整数 l,r(1<=l<=r<=|S|)。

表示 s1 的开始和结束(下标从 1 开始)。

输出格式

输出:

对于每次询问,输出一个整数 x 表示答案。

输入样例
复制代码
asdfgKL
3
1 2
2 3
1 7
输出样例
复制代码
212
215
668

堆排序

题目描述

堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。

堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。

请你实现堆排序。

输入格式

两行,第 1 行是整数 n<=50000,表明排序的数据个数,第 2 行是排序的具体数值。

输出格式

升序排序结果。

输入样例
复制代码
10
4 2 1 5 7 6 9 8 0 3
输出样例
复制代码
0 1 2 3 4 5 6 7 8 9

默契考验

题目描述

A,B,C 三人面临着一项考验。

他们的面前有长度不一的一些木条,A,B,C 每人分别取一根:

*如果组成的木条能组成等边三角形,则默契度为"完美";

*如果能组成直角三角形,则默契度为"优秀";

*否则,默契度为"糟糕"。

现在已知三人所取的木条长度,请判断他们能在考验中得到的评价

输入:

第一行输入正整数 T(T<=100);

接下来 n 行每行包含 3 个正整数 A,B,C(A,B,C<=100),表示三人取得的木条的长度。

输出:

默契度为"完美":输出"perfect";

默契度为"优秀":输出"good";

默契度为"糟糕":输出"bad";

输入格式

如题

输出格式

如题

输入样例
复制代码
3
3 4 5
5 5 5
1 2 3
输出样例
复制代码
good
perfect
bad

ISBN 号码识别

题目描述

每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字、1 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如 0-670-82162-4 就是一个标准的 ISBN 码。

ISBN 码的首位数字表示书籍的出版语言,例如 0 代表英语;第一个分隔符-之后的三位数字代表出版社,例如 670 代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以 1 加上次位数字乘以 2......以此类推,用所得的结果与 11 求余,所得的余数即为识别码,如果余数为 10,则识别码为大写字母 X。

例如 ISBN 号码 0-670-82162-4 中的识别码 4 是这样得到的:对 067082162 这 9 个数字,从左至右,分别乘以 1,2,...,9 再求和,即 0×1+6×2+......+2×9=158,然后取 158 mod 11 的结果 4 作为识别码。

你的任务是编写程序判断输入的 ISBN 号码中识别码是否正确,如果正确,则仅输出 Right;如果错误,则输出你认为是正确的 ISBN 号码。

输入格式

一个字符序列,表示一本书的 ISBN 号码(保证输入符合 ISBN 号码的格式要求)。

输出格式

一行,假如输入的 ISBN 号码的识别码正确,那么输出 Right,否则,按照规定的格式,输出正确的 ISBN 号码(包括分隔符-)。

输入样例
复制代码
0-670-82162-4
输出样例
复制代码
Right

消消乐

题目描述

你有很多个 1x1 的方块堆叠成 n 列,每列有 a[i]个方块。

现在你想在每一列加入若干个 2*1 的方块(高为 2,宽为 1),使得所有列的高度(可以为任意值)相同从而消除方块,且 2x1 方块不能旋转。

请问你是否能够消除所有的方块。

输入格式

第一行一个整数 t,表示 t 组数据。

接下来的 2t 行描述测试用例。

测试用例的第一行包含一个整数 n(1≤n≤100),方块列数,测试用例的第二行包含 n 个整数 a1,a2,...,an (1≤a[i]≤100) 其中 a[i]是第 i 列的方块数。

输出格式

对于每个测试用例,如果可以清除全部方块,则打印答案-"YES",否则打印"NO" (不带引号)。

输入样例
复制代码
4
3
1 1 3
4
1 1 2 1
2
11 11
1
100
输出样例
复制代码
YES
NO
YES
YES

怎么借书

题目描述

小明有 n 本书,他的好朋友小红、小新、小林想向小明借书,若每人只能借一本书,可以有多少种不同的借法?

输入格式

一个整数 n,代表书的序号为 1、2、......、n

输出格式

用 A,B,C 分别代表三个好朋友

依次输出每个人可借的书序号

以及有效的借阅方法总数

输入样例
复制代码
3
输出样例
复制代码
A:1 B:2 C:3
A:1 B:3 C:2
A:2 B:1 C:3
A:2 B:3 C:1
A:3 B:1 C:2
6
相关推荐
2401_8848107418 分钟前
maven笔记
java·笔记·maven
霸王龙的小胳膊19 分钟前
SpringMVC-登录校验
java·mvc
字节源流20 分钟前
【SpringMVC】常用注解:@PathVariable
java·开发语言·servlet
小安同学iter25 分钟前
SpringMVC(五)拦截器
java·开发语言·spring boot·spring·java-ee
栀栀栀栀栀栀38 分钟前
JVM 2015/3/15
java·开发语言·jvm
羊思茗5201 小时前
Spring Boot中@Valid 与 @Validated 注解的详解
java·spring boot·后端
老朋友此林1 小时前
Redisson 实现分布式锁源码浅析
java·redis·分布式
爱分享的淘金达人1 小时前
25年教师资格认定材料及认定详细流程‼
java·python·考研·小程序·tomcat
其实我就是个萌新1 小时前
使用spring data MongoDB对MongoDB进行简单CURD操作示例
java·mongodb·spring
一个处女座的程序猿O(∩_∩)O2 小时前
鸿蒙Next与API 12深度解析:架构、开发实践与代码示例
华为·架构·harmonyos