自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 5-53 两个有序序列的中位数 (25分)

5-53 两个有序序列的中位数 (25分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,⋯,AN−1A_0,A_1,⋯,A_{N−1}​​的中位数指A(N−1)/2A_{(N-1)/2}的值,即第⌊(N+1)/2⌋⌊(N+1)/2⌋个数(A0A_0​​为第1个数)。 输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000)(0<

2016-08-31 11:55:58 3194

原创 5-52 两个有序链表序列的交集 (20分)

5-52 两个有序链表序列的交集 (20分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。 输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。 输出格式:在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。 输入样例:1 2 5 -1

2016-08-31 11:51:26 4766 5

原创 5-51 两个有序链表序列的合并 (20分)

5-51 两个有序链表序列的合并 (20分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。 输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1-不属于这个序列)。数字用空格间隔。 输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。 输入样例:1 3 5

2016-08-31 11:49:41 6801

原创 5-50 畅通工程之局部最小花费问题 (35分)

5-50 畅通工程之局部最小花费问题 (35分)某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。 输入格

2016-08-31 11:47:43 2971

原创 5-49 打印学生选课清单 (25分)

5-49 打印学生选课清单 (25分)假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。 输入格式:输入的第一行是两个正整数:N(≤40000),为前来查询课表的学生总数;K(≤2500),为总课程数。此后顺序给出课程1到K的选课学生名单。格式为:对每一门课,首先在一行中输出课程编号(简单起见,课程从1到K编号)和选课学生总数

2016-08-31 11:40:18 2683

原创 5-48 银行排队问题之单窗口“夹塞”版 (30分)

5-48 银行排队问题之单窗口“夹塞”版 (30分)排队“夹塞”是引起大家强烈不满的行为,但是这种现象时常存在。在银行的单窗口排队问题中,假设银行只有1个窗口提供服务,所有顾客按到达时间排成一条长龙。当窗口空闲时,下一位顾客即去该窗口处理事务。此时如果已知第iii位顾客与排在后面的第j位顾客是好朋友,并且愿意替朋友办理事务的话,那么第iii位顾客的事务处理时间就是自己的事务加朋友的事务所耗时间的

2016-08-31 11:38:43 2901 1

原创 5-47 打印选课学生名单 (25分)

5-47 打印选课学生名单 (25分)假设全校有最多40000名学生和最多2500门课程。现给出每个学生的选课清单,要求输出每门课的选课学生名单。 输入格式:输入的第一行是两个正整数:N(≤40000),为全校学生总数;K(≤2500),为总课程数。此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1

2016-08-31 11:32:19 6685 3

原创 5-46 新浪微博热门话题 (30分)

5-46 新浪微博热门话题 (30分)新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题。新浪微博还会随时更新热门话题列表,并将最热门的话题放在醒目的位置推荐大家关注。本题目要求实现一个简化的热门话题推荐功能,从大量英文(因为中文分词处理比较麻烦)微博中解析出话题,找出被最多条微博提到的话

2016-08-31 11:17:03 6582 6

原创 5-45 航空公司VIP客户查询 (25分)

5-45 航空公司VIP客户查询 (25分)不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。 输入格式:输入首先给出两个正整数N(≤105≤10^5)和K(≤500)。其中K是最低里程,即为照顾乘坐短程航班的会员,航空公司还会将航程低于

2016-08-30 18:43:11 2635 1

原创 5-44 基于词频的文件相似度 (30分)

5-44 基于词频的文件相似度 (30分)实现一种简单原始的文件相似度计算,即以两文件的公共词汇占总词汇的比例来定义相似度。为简化问题,这里不考虑中文(因为分词太难了),只考虑长度不小于3、且不超过10的英文单词,长度超过10的只考虑前10个字母。 输入格式:输入首先给出正整数N(≤100),为文件总数。随后按以下格式给出每个文件的内容:首先给出文件正文,最后在一行中只给出一个字符#

2016-08-30 12:33:39 4057

原创 5-43 字符串关键字的散列映射 (25分)

5-43 字符串关键字的散列映射 (25分)给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位;再用除留余数法将整数映射到长度为P的散列表中。例如将字符串AZDEG插入长度为1009的散列表中,我们首先将26个大写英文字母顺序映射到整数0~25;再通过移位将其映射为3×(32)2+4×32+6=32

2016-08-30 12:23:21 4915

原创 5-42 整型关键字的散列映射 (25分)

5-42 整型关键字的散列映射 (25分)给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射到长度为P的散列表中。用线性探测法解决冲突。 输入格式:输入第一行首先给出两个正整数N(≤1000)和PPP(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。 输出格式:在一行内输出每个整型关键字在散列表中的位置。数字间以空格

2016-08-30 12:17:03 6500

原创 5-41 PAT排名汇总 (25分)

5-41 PAT排名汇总 (25分)计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,

2016-08-30 12:14:00 2295

原创 5-40 奥运排行榜 (25分)

5-40 奥运排行榜 (25分)每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人均奖牌榜”,说不定非洲的国家会成为榜魁…… 现在就请你写一个程序,对每个前来咨询的国家按照对其最有利的方式计算它的排名。 输入格式:输入的第

2016-08-30 12:08:08 5534

原创 5-39 魔法优惠券 (25分)

5-39 魔法优惠券 (25分)在火星上有个魔法商店,提供魔法优惠券。每个优惠劵上印有一个整数面值K,表示若你在购买某商品时使用这张优惠劵,可以得到K倍该商品价值的回报!该商店还免费赠送一些有价值的商品,但是如果你在领取免费赠品的时候使用面值为正的优惠劵,则必须倒贴给商店K倍该商品价值的金额…… 但是不要紧,还有面值为负的优惠劵可以用!(真是神奇的火星)例如,给定一组优惠劵,面值分别为1、2、4

2016-08-30 11:48:15 2204

原创 5-38 寻找大富翁 (25分)

5-38 寻找大富翁 (25分)2015年胡润研究院的调查显示,截至2014年9月,个人资产在600万元以上高净值人群达290万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。 输入格式:输入首先给出两个正整数N(10610^6)和MMM(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分

2016-08-30 11:43:35 4265

原创 5-37 模拟EXCEL排序 (25分)

5-37 模拟EXCEL排序 (25分)Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。 输入格式:输入的第一行包含两个正整数N(105 10^5​​) 和C,其中N是纪录的条数,C是指定排序的列号。之后有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,保证没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩([0, 100]内的整数)组成,相邻属性用

2016-08-30 11:39:06 4870

原创 5-36 社交网络图中结点的“重要性”计算 (30分)

5-36 社交网络图中结点的“重要性”计算 (30分)在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来。他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱。而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同。“紧密度中心性”是用来衡量一个结点到达其它结点的“快慢”的指标,即一个有较高中心性的结点比有较低中心性的结点能够

2016-08-30 11:35:08 3409 6

原创 5-35 城市间紧急救援 (25分)

5-35 城市间紧急救援 (25分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。 输入格式:输入第一行给出4个正整数N、M、S、D,其中N

2016-08-30 11:26:44 3626 1

原创 5-34 任务调度的合理性 (25分)

5-34 任务调度的合理性 (25分)假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可

2016-08-30 11:21:56 1821

原创 5-33 地下迷宫探索 (30分)

5-33 地下迷宫探索 (30分)地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事,如下图所示。 我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智。在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏。本实验案例以探索地下通道迷宫作为内容。假设有一个地下通道迷宫,它的通道都是直的

2016-08-30 11:18:07 2195

原创 5-32 哥尼斯堡的“七桥问题” (25分)

5-32 哥尼斯堡的“七桥问题” (25分)哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示。 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点

2016-08-30 11:12:43 3667 1

原创 5-31 笛卡尔树 (25分)

5-31 笛卡尔树 (25分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。 输入格式:输入首先给出正整数N(≤1000),为树中结点的

2016-08-30 11:07:39 1765

原创 5-30 目录树 (30分)

5-30 目录树 (30分)在ZIP归档文件中,保留着所有压缩文件和目录的相对路径和名称。当使用WinZIP等GUI软件打开ZIP归档文件时,可以从这些信息中重建目录的树状结构。请编写程序实现目录的树状结构的重建工作。 输入格式:输入首先给出正整数N(10^4​​),表示ZIP归档文件中的文件和目录的数量。随后N行,每行有如下格式的文件或目录的相对路径和名称(每行不超过260个字符):

2016-08-30 11:01:21 4073 1

原创 5-29 修理牧场 (25分)

5-29 修理牧场 (25分)农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数LiL_ii​​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是LiL_i的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯

2016-08-30 10:56:46 4639 2

原创 5-28 搜索树判断 (25分)

5-28 搜索树判断 (25分)对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像二叉搜索树的前序遍历序列,如果是,则输出对应二叉树的后序遍历序列。 输入格式:输入的第一行包含一个正整数N(≤10

2016-08-30 10:51:04 2929

原创 5-27 家谱处理 (30分)

5-27 家谱处理 (30分)人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究。实验中,使用计算机处理家谱。为了实现这个目的,研究人员将家谱转换为文本文件。下面为家谱文本文件的实例:John Robert Frank Andrew Nancy David家谱文本文件中,每一行包含一个人的名字。第一行中的名字是这个家族最早的祖先

2016-08-30 10:39:50 4461 3

原创 5-26 Windows消息队列 (25分)

5-26 Windows消息队列 (25分)消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。 输入格式:输入首先给出正整数N(≤1

2016-08-30 09:47:20 2552 1

原创 5-25 朋友圈 (25分)

5-25 朋友圈 (25分)某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。 输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总

2016-08-30 09:35:16 1714

原创 5-24 树种统计 (25分)

5-24 树种统计 (25分)随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。 输入格式:输入首先给出正整数N( <=105<=10^5​​),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。 输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分

2016-08-30 09:27:08 1365 4

原创 5-23 还原二叉树 (25分)

5-23 还原二叉树 (25分)给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。 输入格式:输入首先给出正整数N(≤50≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。 输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5思路 大致上是

2016-08-30 09:19:39 1110

原创 5-22 堆栈模拟队列 (25分)

5-22 堆栈模拟队列 (25分)设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ):

2016-08-29 11:00:18 2681

原创 5-21 求前缀表达式的值 (25分)

5-21 求前缀表达式的值 (25分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3∗(7−4)+8/42+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。 输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、\以及运算数,不同对象(运算数、运算

2016-08-29 10:38:43 8581

原创 5-20 表达式转换 (25分)

5-20 表达式转换 (25分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。 输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号( ),表达式不超过20个字符。 输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空

2016-08-29 10:30:41 6559

原创 5-19 求链式线性表的倒数第K项 (20分)

5-19 求链式线性表的倒数第K项 (20分)给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式:输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。 输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7思路

2016-08-29 10:26:11 5924 1

原创 5-18 银行业务队列简单模拟 (25分)

5-18 银行业务队列简单模拟 (25分)设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。 输入格式:输入为一行正整数,其中第1个数字N(≤\le≤10

2016-08-29 08:58:02 11142 9

原创 5-17 汉诺塔的非递归实现 (25分)

5-17 汉诺塔的非递归实现 (25分)借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”),并保证每个移动符合汉诺塔问题的要求。 输入格式:输入为一个正整数N,即起始柱上的盘数。 输出格式:每个操作(移动)占一行,按柱1 -> 柱2的格式输出。 输入样例:3输出样例:a -> c

2016-08-29 08:53:09 3435 2

原创 5-16 一元多项式求导 (20分)

5-16 一元多项式求导 (20分)设计函数求一元多项式的导数。 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。 输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0思路 上网查一下“求导”的概念,

2016-08-28 07:42:53 5854

原创 5-15 QQ帐户的申请与登陆 (25分)

5-15 QQ帐户的申请与登陆 (25分)实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。 输入格式:输入首先给出一个正整数N(10510^5),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户

2016-08-28 07:38:51 2241

原创 5-14 电话聊天狂人 (25分)

5-14 电话聊天狂人 (25分)给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。 输入格式:输入首先给出正整数N(≤ 10^5​​),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。 输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码

2016-08-28 07:33:50 5046

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除