C++编程试题:计算机学科-夏令营上机考试题解
Posted 一起学编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++编程试题:计算机学科-夏令营上机考试题解相关的知识,希望对你有一定的参考价值。
作为一个编程学习者,自己多多练习刷刷题总是没错的!今天我们再来看两道题:
A:保险箱破解器
全局题号250 提交次数35 尝试人数17 通过人数13
总时间限制:
1000毫秒
内存限制:
65536kB
描述
“这件物品被锁在二楼图书馆的一幅画后面的克莱恩保险箱里。克莱因保险箱极为罕见;他们中的大多数,连同克莱因和他的工厂,都在二战中被摧毁。好在研究的老布伦博知道克莱恩的秘密,并在他死前写下了。克莱因保险箱有两个显着特点:一个使用字母而不是数字的密码锁,以及一个刻在门上的引文。克莱因引文总是包含五到十二个不同的大写字母,通常在句子的开头,并提到一个或多个数字。五个大写字母组成了打开保险箱的组合。通过以适当的方式组合所有数字中的数字,您可以获得一个数字目标。(构建目标数的细节是分类的。) 要找到组合,您必须选择满足以下等式的五个字母 v、w、x、y 和 z,其中每个字母替换为其在字母表中的序号位置 (A=1, B=2, ..., Z =26)。然后组合为 vwxyz。如果有多个解决方案,则该组合是字典顺序上最大的一个,即在字典中最后出现的那个。”
v – w 2 + x 3 – y 4 + z 5 = 目标
“例如,给定目标 1 和字母集 ABCDEFGHIJKL,一个可能的解决方案是 FIECB,因为 6 – 9 2 + 5 3 – 3 4 + 2 5 = 1。在这种情况下实际上有几种解决方案,组合结果是成为LKEBA。克莱恩认为在雕刻中编码组合是安全的,因为即使你知道其中的秘密,也可能需要几个月的努力才能尝试所有的可能性。当然,那时计算机还不存在。”
“开发一个程序来寻找克莱因组合,为现场部署做准备。根据部门规定使用标准测试方法。
输入
输入由一行或多行组成,其中包含一个小于 1200 万的正整数目标、一个空格,然后是至少五个且最多十二个不同的大写字母。最后一行将包含零目标和字母 END;这表示输入结束。
输出
对于每行输出唯一的 Klein 组合,如果没有正确的组合,则输出“无解”。使用如下所示的确切格式。”
样例输入
样例输出
C++实现
B:怪盗基德的滑翔翼
全局题号4977 提交次数51 尝试人数20 通过人数18
总时间限制:
1000毫秒
内存限制:
65536kB
描述
怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。
有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。
假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个方向逃跑,但是不能中途改变方向(因为中森警部会在后面追击)。因为滑翔翼动力装置受损,他只能往下滑行(即:只能从较高的建筑滑翔到较低的建筑)。他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?
输入
输入数据第一行是一个整数K(K < 100),代表有K组测试数据。
每组测试数据包含两行:第一行是一个整数N(N < 100),代表有N幢建筑。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0 < h < 10000),按照建筑的排列顺序给出。
输出
对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。
样例输入
样例输出
C++实现
为了帮助大家,轻松,高效学习C语言/C++,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!
【C++编程学习】
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!大家也要把握住大学的时光,抓住成长的每一次机会哦~
微信公众号:C语言编程学习基地
以上是关于C++编程试题:计算机学科-夏令营上机考试题解的主要内容,如果未能解决你的问题,请参考以下文章