
[HNU] CJ
文章平均质量分 58
通心粉丝
404 Not Found
展开
-
【C++编程题】错误的里程表
【问题描述】三月八日,小明买了台新车。但很快小明发现汽车的里程表有问题:里程表上每一位都不显示数字3和数字8,也就是说直接从数字2跳到数字4,直接从数字7跳到数字9。小明纳闷:这车到底行驶里程是多少。现在,小明向你求助:根据里程表显示的数字,给出真实的行驶里程。【输入形式】输入有多组测试数据。输入第一行正整数T,表示有多少组测试数据。后面有T行,每行一个非负整数,表示里程表显示数字,里面不含有数字3和8。该数字不超过10位。40%的测试数据组数T 10≤T≤ 102;30%.原创 2021-09-19 00:09:37 · 795 阅读 · 0 评论 -
【C++编程题】合法的括号串(栈,字符串)
【问题描述】一个合法的括号串,是指只包含括号的串,如果满足如下条件:(1)<> () [] {} 这四对括号是合法的;(2)如果r是合法括号串,则<r> (r) [r] {r}也是;(3)如果r,s是合法括号串,则rs也是;所以<<>> , [<>{}(())],[({<>})]是合法的括号串,而)(,[( ])就不是。【输入形式】输入第一行正整数t (10 ≤ n ≤ 100),表示有多少组测试数据。后原创 2021-09-19 00:06:47 · 642 阅读 · 0 评论 -
【C++编程题】二叉树遍历,从前序、中序到后序(字符串,递归)
【问题描述】二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,深度遍历有前序、中序以及后序三种遍历方法。三种基本的遍历思想为:前序遍历:根结点 ---> 左子树 ---> 右子树中序遍历:左子树--->根结点---> 右子树后序遍历:左子树 ---> 右子树---> 根结点比如,求以下二叉树的各种遍历前序遍历:1 2 4 5 7 8 3 6中序遍历:4 2 7 5 ...原创 2021-09-19 00:00:49 · 555 阅读 · 1 评论 -
【C++编程题】买房与选房(排序,模拟)
【问题描述】 在X国许多一线城市住房非常紧张,政府部门制定了相关的政策,重点满足住房刚性需求(住房面积为0,社保缴纳必须超过2年),然后才能照顾改善性需求(住房面积大于0)。 具体的原则为: 对于刚性需求,缴纳社保月数多者优先 对于改善性需求,现有自有住房面积小者优先 由于房源有限,为公平起见,开发商在不违背上述原则下特意指定同等条件下申报时间同时作为排队的条件,时间越早优先级越高。 最近有一...原创 2021-09-18 23:55:31 · 2837 阅读 · 1 评论 -
【C++编程题】内存管理(模拟)
【问题描述】 离第一个操作系统HNU-OS发布已经没有多少时间了,但它的一些组件还没有完成,内存管理器就是其中之一。根据开发人员的计划,在第一个版本中,内存管理器将非常简单和直观。它将支持三个操作: alloc n —— 分配n个字节内存,返回已分配块的正整数标识符x(x初始值为0,每次分配增长1) erase x —— 删除标识符x所在的块 defragment —— 整理空余内存碎片,将所有块尽量靠近内存的开始位置,并保持各自的顺序 在此情况...原创 2021-09-09 21:05:08 · 2220 阅读 · 1 评论 -
【C++编程题】最少钱币数(动态规划,递归)
【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1个 5 元,或者 3 个 5 元,或者 1 个 5 元、1个 10 元,等等。显然,最少需要 2 个钱币才能凑成 15 元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。【输入形式】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值...原创 2021-09-09 13:21:44 · 2309 阅读 · 0 评论 -
【C++编程题】疫情期间(动态规划,递归)
【问题描述】 正值新冠疫情期间,阿迪没法返回学校学习,他希望通过参加一些比赛来提高一下编程技能,同时做做运动。他收集了接下来的n天里每一天的信息,包括健身房是否开放,或者互联网上是否有程序设计竞赛。 第i天可以有以下四种情况之一: 该天健身房不开放,互联网上也没有竞赛 该天健身房不开放,但互联网上有竞赛 该天健身房开放,但互联网上没有竞赛 该天健身房开放,互联网上也有竞赛 每天阿...原创 2021-09-08 16:43:31 · 1769 阅读 · 1 评论 -
【C++编程题】回文串( 动态规划×,暴力求解√ )
【问题描述】“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。给你一个字符串,问最少在字符串尾添加多少字符,可以使得字符串变为回文串。【输入格式】有多组测试数据。每组测试数据第一行是一个正整数N,表示字符串长度,接下来一行是长度为N的字符串,字符串中只有小写字母。N=0表示输入结束,并且不需要处理。40%的数列元素个数N 1 ≤ N≤ 100;30%的数列元素个数N 1 ≤ N≤ 1000;20%的数列元素个数N 1 ≤ N≤ 100原创 2021-09-08 11:34:10 · 972 阅读 · 0 评论 -
【C++编程题】日历问题(模拟)
【问题描述】在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。【输入形式】输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数。输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。【输出形式】原创 2021-09-08 10:05:49 · 2013 阅读 · 0 评论 -
【C++编程题】相等的多项式(回溯法,排列树)
【问题描述】小明现在在学习多项式的展开:就是把一个形如(x+a1) (x+a2) ... (x+an)展开成如下形式:xn+ b1xn-1+ b2xn-2+ ... + bn-1x + bn比如 (x+1)(x+2)=x2+ 3x + 2 (x+1)3= x3+3x2+3x + 1小明做了很多练习,但是不知道对错,现在请求你的帮助,判断小明的展开式是否正确。【输入格式】有多组测试数据。每组测试数据有三行,第一行是一个正整数N,表示多项式最高指数...原创 2021-09-08 08:51:53 · 620 阅读 · 0 评论 -
【C++编程题】小希的数表
【问题描述】Gardon 昨天给小希布置了一道作业,即根据一张由不超过 5000 的 N(3<=N<=100)个正整数组成的数表两两相加得到 N*(N-1)/2 个和,然后再将它们排序。例如,如果数表里含有四个数 1,3,4,9,那么正确答案是 4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的答案还在,你能帮助她根据她的答案计算出原来的数表么?【输入形式】包含多组数据,每组数据以一个 N 开头,接下来的一行有按照大小顺序原创 2021-09-07 20:39:38 · 2077 阅读 · 0 评论 -
【C++编程题】带通配符的数
【问题描述】给定一个可以带通配符问号的正整数W,问号可以代表任意一个一位数字。再给定一个正整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?【输入形式】多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同,在[1..10]之间。【输出形式】每行一个整数表示结果。【样例输入】36?1?82364288?3910?5【样例输出】10004【思路】递归题目~把每个问号的位置记录下来,把每个【问号和它前面的数】作为一段处理;这样子递归的.原创 2021-09-07 11:10:37 · 485 阅读 · 0 评论 -
【C++编程题】斯诺克台球
【问题描述】斯诺克台球是一项古老而又时尚的运动,使用长方形球桌,台面四角以及两长边中心位置各有一个球袋,使用的球分为1个白球,15个红球和6个彩球共22个球。其中母球(白球)1只,目标球21只。目标球中:红球15只各1分、黄球1只2分、绿球1只3分、咖啡球1只4分、蓝球1只5分、粉球1只6分、黑球1只7分。选手需要使用球杆撞击母球去击打目标球来完成得分,每局开始时总是先从红球开始。击球顺序为先打进红球(每次击打允许多个红球同时落袋),然后必须任意指定一个目标彩球击打,如果该彩球被打进(打进后原创 2021-09-07 09:59:57 · 2250 阅读 · 1 评论 -
【C++编程题】最大报销额
【问题描述】现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。【输入形式】测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(N<=30)是发票张数。随后是 N 行输入,每行的格式为: m Type_1:price_1 Typ...原创 2021-09-06 23:09:29 · 687 阅读 · 0 评论 -
【C++编程题】导弹防御系统(递归,动态规划)
【问题描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。【输入形式】每组输入有两行,第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),第二行,输入k个正整数,表示k枚导弹的高度.原创 2021-09-06 22:22:37 · 2150 阅读 · 0 评论 -
【C++编程题】数塔(递归,动态规划)
【问题描述】给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。 9 12 15 10 6 8 2原创 2021-09-06 18:50:49 · 3231 阅读 · 0 评论 -
【C++编程题】占座位(模拟)
【问题描述】sun所在学校的教室座位每天都是可以预占的。一个人可以去占多个座位,而且一定是要连续的座位,如果占不到他所要求的这么多座位,那么他就一个座位也不要了。为了降低难度,每次分配座位按座位号从小到大查找,采用最先适配法分配座位。【输入形式】输入有多组数据。每组数据输入座位排数n,0<n<=100(座位的排列数相等,座位是按每行从左到右依次排序的, 第1行的最右边一个座位与第二行的第一个座位视为连续座位),m( 0<m<=min(100,n*n) )个人。然后输入k(0原创 2021-09-05 22:54:12 · 1714 阅读 · 0 评论 -
【C++编程题】ab串
【问题描述】 给定一个由字符'a'和字符'b'组成的字符串,可以删除若干字符,使得剩下来的字符串满足前后段为a,中间段为b(aaa....aaabbbb.....bbbbaaa.....aaa),区段可以没有字符(ba,ab,b,aa都是合法的),求最长剩下字符串的长度。【输入形式】 输入为一行一个长度不超过5000的非空字符串,字符串仅由字符'a'和字符'b'组成。【输出形式】 输出为一个整数,表示符合要求的最长剩下字符串长度【样例输入1】abba...原创 2021-09-05 22:33:07 · 1315 阅读 · 0 评论 -
【C++编程题】Web导航
【问题描述】标准的Web浏览器具有在最近访问的页面中前后移动的特性。实现这些特性的一种方法是使用两个堆栈来跟踪可以通过前后移动到达的页面。在这个问题中,我们要求实现这一点。 需要支持以下命令: BACK:将当前页面压入前向堆栈的顶部;从后向堆栈的顶部弹出该页,使其成为新的当前页。如果后向堆栈为空,则该指令忽略。 FORWARD:将当前页面压入后向堆栈的顶部;从前向堆栈的顶部弹出该页,使其成为新的当前页。如果前向堆栈为空,则该指令忽略。 VI...原创 2021-09-05 22:08:46 · 645 阅读 · 0 评论 -
【C++编程题】7, 还是7
【问题描述】输出 7 和 7 的倍数,还有包含 7 的数字例如(17,27,37...70,71,72,73...)【输入形式】一个正整数 N。(N 不大于 30000)【输出形式】从小到大排列的不大于 N 的与 7 有关的正整数,每行一个。【样例输入】20【样例输出】71417【思路】新手编程题。30000这个数很小,直接穷举。数字和字符串的转化在很多题目都可以用到,非常好用。要包含头文件<sstream>【AC代码】 #include&l原创 2021-09-05 21:57:09 · 682 阅读 · 0 评论 -
【C++编程题】在霍格沃茨找零钱
【问题描述】如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。【输入形式】输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Galleon是[0, 107]区间内的整数,Sickle是[0, 17)区间内的整数,Knut是原创 2021-09-05 21:43:58 · 835 阅读 · 0 评论