
信息学奥赛一本通:题解目录
信息学奥赛一本通:题解目录
(上海)编程李老师
信奥赛金牌教练
线下店(青橙机器人编程)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
过河卒(信息学奥赛一本通-T1314)
棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1中的C点和P1,……,P8,卒不能通过对方马的控制点。棋盘用坐标表示,A点(0,0)、B点(n, m) (n,m为不超过20的整数),同样马的位置坐标是需要给出的,C≠A且C≠B。现在要求你计算出卒从A点能够到达B点的路径的条数。从A点能够到达B点的路径的条数。给出n、m和C点的坐标。原创 2025-08-03 14:11:26 · 165 阅读 · 0 评论 -
位数问题(信息学奥赛一本通-T1313)
在所有的N位数中,有多少个数中有偶数个数字3?由于结果可能很大,你只需要输出这个答案对12345取余的值。输入包含一行,一个字符串,长度不超过1000。输出有多少个数中有偶数个数字3。原创 2025-08-03 14:10:47 · 199 阅读 · 0 评论 -
昆虫繁殖(信息学奥赛一本通-T1312)
科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵),问过Z个月以后,共有成虫多少对?过Z个月以后,共有成虫对数。原创 2025-08-03 14:10:17 · 134 阅读 · 0 评论 -
求逆序对(信息学奥赛一本通-T1311)
给定一个序列a1,a2,…,an,如果存在i<j并且ai>aj,那么我们称之为逆序对,求逆序对的数目。第一行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。原创 2025-08-03 14:09:44 · 101 阅读 · 0 评论 -
车厢重组(信息学奥赛一本通-T1310)
在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。有两行数据,第一行是车厢总数N(不大于10000),第二行是N个不同的数表示初始的车厢顺序。一个数据,是最少的旋转次数。原创 2025-08-03 14:09:13 · 168 阅读 · 0 评论 -
回文数(信息学奥赛一本通-T1309)
例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。写一个程序,给定一个N(2<N<=10或N=16)进制数 M.求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible”。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible”。在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。给定一个N(2<N<=10或N=16)进制数M。原创 2025-08-03 14:04:46 · 189 阅读 · 0 评论 -
高精除(信息学奥赛一本通-T1308)
高精除以高精,求它们的商和余数。输入两个低于300位的正整数。原创 2025-08-03 14:03:59 · 70 阅读 · 0 评论 -
高精度乘法(信息学奥赛一本通-T1307)
输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。输入两个高精度正整数M和N。求这两个高精度数的积。原创 2025-08-03 14:03:27 · 165 阅读 · 0 评论 -
最长公共子上升序列(信息学奥赛一本通-T1306)
在第一行,输出两个序列的最长上升公共子序列的长度L。在第二行,输出该子序列。如果有不止一个符合条件的子序列,则输出任何一个即可。存在1≤i1<i2<...<iN≤M,使得对所有1≤j≤N,均有Sj=Aij,且对于所有的1≤j<N,均有Sj<Sj+1。每个序列用两行表示,第一行是长度M(1≤M≤500),第二行是该序列的M个整数Ai(−231≤Ai<231)给定两个整数序列,写一个程序求它们的最长上升公共子序列。原创 2025-08-03 14:02:15 · 99 阅读 · 0 评论 -
Maximum sum(信息学奥赛一本通-T1305)
每组数据的第一行是一个整数,代表数据个数据n(2≤n≤50000) ,第二行是nn个整数a1,a2,...,an(|ai|≤10000)。对于给定的整数序列A={a1,a2,...,an},找出两个不重合连续子段,使得两子段中所有数字的和最大。第一行是一个整数T(≤30),代表一共有多少组数据。输出一个整数,就是d(A)的值。我们的目标就是求出d(A)。原创 2025-08-03 14:01:28 · 131 阅读 · 0 评论 -
数的划分(信息学奥赛一本通-T1304)
将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开。问有多少种不同的分法。输出一个整数,即不同的分法。例如:n=7,k=3,下面三种分法被认为是相同的。一个整数,即不同的分法。原创 2025-08-03 14:00:55 · 170 阅读 · 0 评论 -
鸣人的影分身(信息学奥赛一本通-T1303)
在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为M,他影分身的个数最多为N,那么制造影分身时有多少种(用K表示)不同的分配方法?(影分身可以被分配到0点查克拉能量)第一行是测试数据的数目t(0≤t≤20)。原创 2025-08-03 14:00:18 · 165 阅读 · 0 评论 -
股票买卖(信息学奥赛一本通-T1302)
接下来的每组数据,第一行是一个整数N(1≤N≤100,000),表示一共有N天。第二行是 N 个被空格分开的整数,表示每天该股票的价格。假设阿福已经准确预测出了某只股票在未来N天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。该行包含一个整数,表示阿福能够获得的最大的利润。输入的第一行是一个整数T(T≤50),表示一共有T组数据。原创 2025-08-03 13:59:46 · 142 阅读 · 0 评论 -
大盗阿福(信息学奥赛一本通-T1301)
接下来的每组数据,第一行是一个整数N(1≤N≤100,000) ,表示一共有N家店铺。第二行是N个被空格分开的正整数,表示每一家店铺中的现金数量。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?该行包含一个整数,表示阿福在不惊动警察的情况下可以得到的现金数量。输入的第一行是一个整数T(T≤50) ,表示一共有T组数据。原创 2025-08-03 13:59:08 · 188 阅读 · 0 评论 -
鸡蛋的硬度(信息学奥赛一本通-T1300)
参赛者是来自世界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法--从高度扔鸡蛋--来测试鸡蛋的硬度,如果一次母鸡下的蛋从高楼的第a层摔下来没摔破,但是从a+1层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是a。输入包括多组数据,每组数据一行,包含两个正整数n和m(1≤n≤100,1≤m≤10),其中n表示楼的高度,m表示你现在拥有的鸡蛋个数,这些鸡蛋硬度相同(即它们从同样高的地方掉下来要么都摔碎要么都不碎),并且小于等于n。原创 2025-08-01 16:26:16 · 396 阅读 · 0 评论 -
糖果(信息学奥赛一本通-T1299)
由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。在这一天,Dzx可以从糖果公司的N件产品中任意选择若干件带回家享用。糖果公司的N件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖果总数是K的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。Dzx最多能带走多少糖果呢?以下N行每行1个整数,表示糖果公司该件产品中包含的糖果数目,不超过1000000。符合要求的最多能达到的糖果总数,如果不能达到K的倍数这一要求,输出0。原创 2025-08-01 16:25:40 · 147 阅读 · 0 评论 -
计算字符串距离(信息学奥赛一本通-T1298)
比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g”的方式来达到目的。无论增加还是减少“g”,我们都仅仅需要一次操作。我们把这个操作所需要的次数定义为两个字符串的距离。删除一个字符(如把“traveling”变为“travelng”)。接下来共n行,每行两个字符串,用空格隔开,表示要计算距离的两个字符串。针对每一组测试数据输出一个整数,值为两个字符串的距离。给定任意两个字符串,写出一个算法来计算出他们的距离。修改一个字符(如把“a”替换为“b”);原创 2025-08-01 16:25:08 · 228 阅读 · 0 评论 -
公共子序列(信息学奥赛一本通-T1297)
我们称序列Z=<z1,z2,...,zk>是序列X=<x1,x2,...,xm>的子序列当且仅当存在严格上升的序列<i1,i2,...,ik>,使得对j=1,2,...,k,有xij=zj。比如Z=<a,b,f,c> 是X=<a,b,c,f,b,c>的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。输入包括多组测试数据。两个字符串之间由若干个空格隔开。对每组输入数据,输出一行,给出两个序列的最大公共子序列的长度。原创 2025-08-01 16:24:11 · 181 阅读 · 0 评论 -
开餐馆(信息学奥赛一本通-T1296)
信息学院的同学小明毕业之后打算创业开餐馆.现在共有n个地点可供选择。我们用一个整数序列m1,m2,...mn来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k。第2行:n 个地点的位置m1,m2,...mn(1000000>mi>0 且为整数,升序排列);第3行:n 个地点的餐馆利润p1,p2,...pn(1000>pi>0 且为整数)。第1行:地点总数n(n<100), 距离限制k(k>0且k<1000);对于每组测试数据可能的最大利润。原创 2025-08-01 16:23:04 · 147 阅读 · 0 评论 -
装箱问题(信息学奥赛一本通-T1295)
有一个箱子容量为V(正整数,0≤v≤20000),同时有n个物品(0< n ≤30),每个物品有一个体积(正整数)。接下来n行,每行一个正整数(不超过10000),分别表示这n个物品的各自体积。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。第一行是一个整数V,表示箱子容量。第二行是一个整数n,表示物品数。一个整数,表示箱子剩余空间。原创 2025-08-01 16:22:28 · 205 阅读 · 0 评论 -
Charm Bracelet(信息学奥赛一本通-T1294)
有n个物品,编号为i的物品的重量为w[i],价值为c[i],现在要从这些物品中选一些物品装到一个容量为m的背包中,使得背包内物体在总重量不超过m的前提下价值尽量大。第1行:两个整数,n(物品数量,n≤3500)和m(背包容量,m≤12880)。第2..n+1行::每行二个整数w[i],c[i],表示每个物品的重量和价值。仅一行,一个数,表示最大总价值。原创 2025-08-01 16:21:36 · 202 阅读 · 0 评论 -
买书(信息学奥赛一本通-T1293)
小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。一个整数 n,代表总共钱数。(0 ≤ n ≤ 1000)问小明有多少种买书方案?原创 2025-08-01 16:21:06 · 169 阅读 · 0 评论 -
宠物小精灵之收服(信息学奥赛一本通-T1292)
如果小智选择了收服,那么一定会扔出能够收服该小精灵的精灵球,而皮卡丘也一定会受到相应的伤害;现在已知小智的精灵球数量和皮卡丘的初始体力,已知每一个小精灵需要的用于收服的精灵球数目和它在被收服过程中会对皮卡丘造成的伤害数目。输入数据的第一行包含三个整数:N(0<N<1000),M(0<M<500),K(0<K<100),分别代表小智的精灵球数量、皮卡丘初始的体力值、野生小精灵的数量。之后的K行,每一行代表一个野生小精灵,包括两个整数:收服该小精灵需要的精灵球的数量,以及收服过程中对皮卡丘造成的伤害。原创 2025-08-01 16:20:26 · 152 阅读 · 0 评论 -
数字组合(信息学奥赛一本通-T1291)
输入的第一行是两个正整数n和t,用空格隔开,其中1≤n≤20,表示正整数的个数,t为要求的和(1≤t≤1000);有n个正整数,找出其中和为t(t也是正整数)的可能的组合方式。那么可能的组合有5=1+4和5=2+3和5=5三种组合方式。n=5,5个数分别为1,2,3,4,5,t=5;接下来的一行是n个正整数,用空格隔开。和为t的不同的组合方式的数目。原创 2025-08-01 16:19:17 · 185 阅读 · 0 评论 -
采药(信息学奥赛一本通-T1290)
医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。输入的第一行有两个整数T(1≤T≤1000)和M(1≤M≤100),T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的的整数,分别表示采摘某株草药的时间和这株草药的价值。输出只包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。原创 2025-08-01 16:18:45 · 170 阅读 · 0 评论 -
拦截导弹(信息学奥赛一本通-T1289)
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹。第二行包含N个整数,为导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)。第一行是一个整数N(不超过15),表示导弹数。一个整数,表示最多能拦截的导弹数。原创 2025-07-29 09:57:21 · 157 阅读 · 0 评论 -
三角形最佳路径问题(信息学奥赛一本通-T1288)
从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。第一行为三角形高度100≥h≥1,同时也是最底层边的数字的数目。从第二行开始,每行为三角形相应行的数字,中间用空格分隔。最佳路径的长度数值。原创 2025-07-29 09:56:49 · 127 阅读 · 0 评论 -
最低通行费(信息学奥赛一本通-T1287)
一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?后面N行,每行N个不大于100的整数,为网格上每个小方格的费用。第一行是一个整数,表示正方形的宽度N (1≤N<100);原创 2025-07-29 09:56:06 · 151 阅读 · 0 评论 -
怪盗基德的滑翔翼(信息学奥赛一本通-T1286)
他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0<h<10000),按照建筑的排列顺序给出。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。原创 2025-07-29 09:55:35 · 265 阅读 · 0 评论 -
最大上升子序列和(信息学奥赛一本通-T1285)
对于给定的一个序列(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK),这里1≤i1<i2<...<iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中和最大为18,为子序列(1,3,5,9)的和。你的任务,就是对于给定的序列,求出最大上升子序列和。注意,最长的上升子序列的和不一定是最大的,比如序列(100,1,2,3)的最大上升子序列和为100,而最长上升子序列为(1,2,3)。原创 2025-07-29 09:55:05 · 206 阅读 · 0 评论 -
摘花生(信息学奥赛一本通-T1284)
她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。每组数据的接下来R行数据,从北向南依次描述每行花生苗的情况。每行数据有C个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目M(0≤M≤1000)。每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C(1≤R,C≤100)对每组输入数据,输出一行,内容为Hello Kitty能摘到得最多的花生颗数。原创 2025-07-29 09:54:34 · 337 阅读 · 0 评论 -
登山(信息学奥赛一本通-T1283)
五一到了,ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?第一行:N (2 ≤ N ≤ 1000) 景点数;第二行:N个整数,每个景点的海拔。最多能浏览的景点数。原创 2025-07-29 09:54:04 · 169 阅读 · 0 评论 -
最大子矩阵(信息学奥赛一本通-T1282)
输入是一个N×N的矩阵。输入的第一行给出N(0<N≤100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[−127,127]已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。比如,如下4 × 4的矩阵。这个子矩阵的大小是15。输出最大子矩阵的大小。原创 2025-07-29 09:53:33 · 141 阅读 · 0 评论 -
最长上升子序列(信息学奥赛一本通-T1281)
一个数的序列bi,当b1<b2<...<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK),这里1≤i1<i2<...<iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8)。输入的第一行是序列的长度N(1≤N≤1000)。你的任务,就是对于给定的序列,求出最长上升子序列的长度。原创 2025-07-29 09:53:02 · 188 阅读 · 0 评论 -
滑雪(信息学奥赛一本通-T1280)
小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小明滑到坡底,不得不再次走上坡或等着直升机来载他,小明想知道在一个区域中最长的滑坡。滑坡的长度由滑过点的个数来计算,区域由一个二维数组给出,数组的每个数字代表点的高度。一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小,在上面的例子中,一条可行的滑坡为25-24-17-16-1(从25开始到1结束),当然25-24……2-1更长,事实上这是最长的一条。输出区域中最长的滑坡长度。原创 2025-07-29 09:52:23 · 192 阅读 · 0 评论 -
橱窗布置(信息学奥赛一本通-T1279)
假设以最美观的方式布置花店的橱窗,有F束花,每束花的品种都不一样,同时,至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,并从左到右,从1到V顺序编号,V是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边,花束可以移动,并且每束花用1到F的整数惟一标识,标识花束的整数决定了花束在花瓶中列的顺序即如果i<j,则花束i必须放在花束j左边的花瓶中。每一个花瓶的形状和颜色也不相同,因此,当各个花瓶中放人不同的花束时会产生不同的美学效果,并以美学值(一个整数)来表示,空置花瓶的美学值为0。原创 2025-07-29 09:51:52 · 358 阅读 · 0 评论 -
复制书稿(信息学奥赛一本通-T1278)
现在要把m本有顺序的书分给k个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三和第四本书给同一个人抄写。共k行,每行两个整数,第i行表示第i个人抄写的书的起始编号和终止编号。k行的起始编号应该从小到大排列,如果有多解,则尽可能让前面的人少抄写。现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。第二行m个整数,第i个整数表示第i本书的页数。第一行两个整数m,k;原创 2025-07-29 09:51:19 · 198 阅读 · 0 评论 -
方格取数(信息学奥赛一本通-T1277)
某人从图中的左上角A出发,可以向下行走,也可以向右行走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。一行“0 0 0”表示结束。设有N×N的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。此人从A点到B点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。第一行为一个整数N(N≤10),表示N×N的方格图。第一个整数,表示两条路径上取得的最大的和。原创 2025-07-29 09:50:48 · 214 阅读 · 0 评论 -
编辑距离(信息学奥赛一本通-T1276)
设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。对任意的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。字符串A和B的长度均小于2000。3、将一个字符改为另一个字符。只有一个正整数,为最少字符操作次数。原创 2025-07-28 12:01:59 · 210 阅读 · 0 评论 -
乘积最大(信息学奥赛一本通-T1275)
今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积最大。现在,请你帮助你的好朋友XZ设计一个程序,求得正确的答案。第一行共有2个自然数N,K(6≤N≤10,1≤K≤6)这时,符合题目要求的结果是:31*2=62。第二行是一个长度为N的数字串。原创 2025-07-28 12:01:09 · 292 阅读 · 0 评论