
校OJ题解
文章平均质量分 67
每日一题题解
Yong_zhi
这个作者很懒,什么都没留下…
展开
-
83. 回文数
对于每组输入数据,输出最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出"Impossible!每个测试文件只包含一组测试数据,每组输入一个N(2<=N<=10,N=16)进制数M,每组的第一行输入N,第二行输入M。例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。原创 2023-04-06 09:22:42 · 69 阅读 · 0 评论 -
101. 级数求和
已知:Sn= 1+1/2+1/3+…显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1<=k<=15),要求计算出一个最小的n,使得Sn>K。每个测试文件只包含一组测试数据,每组一个整数k(1<=k<=15)。对于每组输入数据,输出要求计算出的最小的n,使得Sn>K。原创 2023-03-31 14:02:28 · 72 阅读 · 0 评论 -
95. 最大公约数和最小公倍数问题
又叫最大公因数,即两个或两个以上的数共有的最大的那个因数就是最大公因数。比如12和20,它们有共同的因子1, 2, 4,其中4就是他们的最大公因数;比如20和40,它们有共同的因子1,2, 4, 5, 10, 20,其中20就是他们的最大公因数两个或两个以上的数共有的倍数就是它们的公倍数,其中除0以外的最小的那个倍数就是他们的最小公倍数例如18和20的最小公倍数是1801和14的最小公倍数是142和4的最小公倍数是4。原创 2023-03-30 13:45:54 · 575 阅读 · 0 评论 -
73. 棋盘方格
我们既然知道了这是怎么数的,那么我们就不妨来找找规律,因为在正方形的时候还好,因为边长都一样,所以一重循环就可以搞定,不过在长方形的时候我们就必须要用到两重循环了,这使得算法的时间大大增加,那么我们能不能优化一下呢?就可以得到所有长方形的个数,不过这个时候我们需要注意的是,用这种方法时里面也包括了正方形的个数,我们只需将这个结果减去正方形的个数即可,AC代码请见第二个代码。我们用同样的方法来数长方形的个数,我们设小长方形的长为a,宽为b(注意,这里不要求a一定要大于b,只要。原创 2023-03-29 13:39:56 · 223 阅读 · 0 评论 -
70. 比赛安排
很简单,就是暴力破解,直接看AC代码吧,需要注意的是我们可以用图来记录两个队之间是否已经比过赛就行,也就是我在代码里面定义的二维列表compare。原创 2023-03-28 19:07:05 · 70 阅读 · 0 评论 -
559. 剪绳子
根据题目的描述,我们不妨设者m根绳子最长的长度为x, 其范围应该在(0, max(Li)), 我们可以将x一半一半的剪,然后根据这一半的长度去看看所有的绳子里面有多少可以剪多少根这种长度的绳子,如果长度大于等于m了,那么就说明可以了。转载 2023-03-27 20:54:37 · 61 阅读 · 0 评论 -
556. 蛇形矩阵
这题是比较简单的,只需要通过pos改变控制方向,在if判断那里需要注意,判断某个点是否走过一定要放在最后,因为or判断到真就不会在继续后面的判断了,这样也就不会造成溢出报错(IndexError: list index out of range)原创 2023-03-23 08:57:54 · 67 阅读 · 0 评论 -
555. 数字三角形
我们从上往下的分支会越来越多,计算量也会越来越大,而当我们采用从下往上时, 我们将最基础的子问题给求解了,当我们求解大问题时,我们保证大问题的子问题都已经求解了,这样计算的速度将会大大增加。看到这一题脑子里第一个蹦出的念头就是直接从上到下暴力破解,不过这样肯定是很愚蠢的办法,所以我们就想想能不能从其他方面去入手呢。假如我们不从上往下,而是用逆向思维从下往上呢?接下来就是代码实现了。原创 2023-03-22 15:43:27 · 64 阅读 · 0 评论 -
554. 货仓选址
我们可知,要想在一维中取得一点到两个点之间的距离之和最小,那么这个点一定在两个点中间(可以在这两个点上), 所以我们便可以进行分组, 将。我们需要注意,因为输入不一定是有序的,所以我们需要先对数组进行排序;其次,因为我们的下标是从0开始的,所以对输入的n整除2后不用加一。当n为奇数时, 货仓一定要建立在。,由题意我们可知我们需要每个点到货仓的距离之和最小,由绝对值不等式。我们假设货仓建的位置为x,那么每个商店到货仓的位置就是。分为一组,如此下去,当n为偶数时,最后的分组一定是。原创 2023-03-21 20:47:52 · 69 阅读 · 0 评论 -
550. 拼写正确
这题用Python是非常简单的,首先,因为整数N可能会出现前导0,而数字可能会很大,所以我们先将其转换成int类型,再转换成字符串类型进行遍历,在输出的时候注意输出不要换行,是空格,再利用字典来进行输出即可,总的来说是比较简单的。原创 2023-03-17 19:00:10 · 76 阅读 · 0 评论