#算法的乐趣

算法笔记_182:历届试题 核桃的数量(Java)

/目录1问题描述2解决方案 问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1.各组的核桃数量必须相同2.各组内必须能平分核桃(当然是不能打碎的)3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正...

算法笔记_183:历届试题 九宫重排(Java)

/目录1问题描述2解决方案问题描述  如下面第一个图的九宫格中,放着1~8的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。  我们把第一个图的局面记为:12345678.  把第二个图的局面记为:123.46758  显然是按从上到下,从左到右的顺序...

算法笔记_184:历届试题 约数倍数选卡片(Java)

/目录1问题描述2解决方案问题描述  闲暇时,福尔摩斯和华生玩一个游戏:  在N张卡片上写有N个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可以拿的数字包括:  1,2,3,6,12,18,24.....

算法笔记_185:历届试题 格子刷油漆(Java)

/目录1问题描述2解决方案问题描述  X国的一段古城墙的顶端可以看成2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆。  你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)  比如:adbcef就是合格的刷漆顺序。  cefda...

算法笔记_186:历届试题 高僧斗法(Java)

/目录1问题描述2解决方案问题描述  古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。  节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个...

算法笔记_187:历届试题 网络寻路(Java)

/目录1问题描述2解决方案问题描述X国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。源地址和目标地址可以相同,但中间节点必须不同。如下图所示的网络。1->2->...

算法笔记_188:历届试题 危险系数(Java)

/目录1问题描述2解决方案问题描述抗日战争时期,冀中平原的地道战曾发挥重要作用。地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。我们来定义一个危险系数DF(x,y):对于两个站点x和y(x!=y),如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么...

算法笔记_189:历届试题 横向打印二叉树(Java)

/目录1问题描述2解决方案问题描述二叉树可以用于排序。其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。当遇到空子树时,则把该节点放入那个位置。比如,10857124的输入顺序,应该建成二叉树如下图所示,其中.表示空白。...|-1210-|...|-8-|.......

算法笔记_190:历届试题 幸运数(Java)

/目录1问题描述2解决方案问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1_3_5_7_9....把它们缩紧,重新记序,为:13579....

算法笔记_191:历届试题 大臣的旅费(Java)

/目录1问题描述2解决方案问题描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的...

算法笔记_192:历届试题 买不到的数目(Java)

/目录1问题描述2解决方案问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买10颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合...

算法笔记_193:历届试题 连号区间数(Java)

/目录1问题描述2解决方案问题描述小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L,R]里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的...

算法笔记_194:历届试题 翻硬币(Java)

/目录1问题描述2解决方案问题描述小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用*表示正面,用o表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标...

算法笔记_195:历届试题 错误票据(Java)

/目录1问题描述2解决方案问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生...

算法笔记_196:历届试题 剪格子(Java)

/目录1问题描述2解决方案问题描述如下图所示,3x3的格子中填写了一些整数。+--*--+--+|10*1|52|+--****--+|20|30*1|*******--+|1|2|3|+--+--+--+我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的mxn的格子...
首页上一页...2122232425...下一页尾页