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

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

在线评测:传送门: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
相关推荐
星沁城5 分钟前
236. 二叉树的最近公共祖先
java·数据结构·leetcode·二叉树
oliveira-time1 小时前
Java 1.8(也称为Java 8)
java·开发语言
极小狐3 小时前
如何使用极狐GitLab 软件包仓库功能托管 maven?
java·运维·数据库·安全·c#·gitlab·maven
.生产的驴3 小时前
SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫
java·spring boot·redis·分布式·后端·爬虫·tomcat
野犬寒鸦5 小时前
MySQL索引使用规则详解:从设计到优化的完整指南
java·数据库·后端·sql·mysql
思考的橙子5 小时前
Springboot之会话技术
java·spring boot·后端
钰爱&5 小时前
【Linux】POSIX 线程信号量与互斥锁▲
java·开发语言·jvm
黑匣子~7 小时前
java集成telegram机器人
java·python·机器人·telegram
竹小春逢十八7 小时前
Java常用类概述
java
weixin_437398218 小时前
RabbitMQ深入学习
java·分布式·后端·spring·spring cloud·微服务·rabbitmq