- 博客(47)
- 收藏
- 关注
原创 XTU OJ 1381表格
用户输入一个表格的文本,请按如下格式输出:1. 用'-'表示横线,'|'表示竖线,'+'表示横竖线的交点2. 列宽为当前列最长字符串长度+23. 每列的对齐方式相同,一共有三种,分别为靠左对齐,居中对齐,靠右对齐,分别用'l','c','r'表示。a. 靠左对齐,字符串左端距离边线1个空格;b. 居中对齐,字符串距离边线左和右空格数的差不超过1,且左边空格数小于等于右边空格数。c. 靠右对齐,字符串右端距离边线1个空格;
2022-11-27 15:00:20
1543
原创 二分查找(固定套路)
2.会不会陷入死循环?不会,比方说 l +1=r,相当于红蓝区间末尾连在一起,会退出循环,如果l+2=r相当于末尾中间多了一个数,之后为自动变为l+1=r的状态,l+3=r会回归到l+2=r,l+2=r会回归到l+1=r,所以不会。因此设定为-1和n,同时也符合指针本身的含义,比如说开头和末尾的左边和右边肯定是-1和n。4.为什么设定l=m,r=m,因为如果说设定为l = m+1,如果m指向蓝色区间最后一个,l就会指向红色区间,明显有误,为了便于理解和统一,我们全都设定为l = m,或者r= m。
2022-11-20 17:43:51
158
原创 XTU OJ 1464 黑子的鸡脚(说人话)
小黑家接到了很多订单,这些订单来自不同的地域,有着不同的习惯,他们喜欢吃只含有 k 根鸡指的泡椒鸡脚,并且鸡指是完整的(即不能有断指)。最近泡椒鸡脚在火星特别流行,小黑家的订单供不应求,同时面对很多奇怪的订单,小黑不能及时的解决,于是他找到了他的儿子 “小黑。第一行为两个整数 n,k,表示小黑家的鸡有 n 根鸡指,k 表示订单的喜好是吃 k 指鸡脚。火星的鸡很特别,他们一只鸡脚会有 n 根鸡指,并且是连续的、不成环的,你可以看成每一根。,于是小黑子想到了一个办法,将一个鸡脚切开,伪装成 k 指鸡。
2022-11-19 22:22:51
704
原创 XTU OJ 1434 Lost Digits
不妨列出一个除法的式子出来,在对1234进行运算的时候,如果没有第5位为5,就会掉下来一个2,而如果说后面有一个5,是不是要继续算?综上所述,一个数加上第i位数能不能%7==0要看前面i-1位数的余数是多少,因此,我们就找到了一个递推关系,需要一个二维数组储存两个信息,第多少位数,二是前几位的余数。同时,在实现的过程中,我们如果只将余数是否为0的记入数组显然非常困难,由此我们自然而然想到不妨将所有余数情况全部存入,也就是说二维数组的第二个空位应当存储%7所有的余数情况,之后将需要的余数的情况调用即可。
2022-11-09 20:31:28
756
1
原创 XTU OJ 1309 唯一的字串
给一个字符串,求长度为m的所有不重复的子串。比如字符串"aaab",我们求长度为2的子串,那么依次为"aa","aa","ab",那么不重复的子串为"aa","ab"
2022-11-06 21:29:34
266
原创 XTU OJ 1378 Blocks
给你一个n块积木,每个积木块都是立方体,现在把它们排列一排,成m列,要求每列上至少有1个积木,且从左到右,每列的积木数量呈严格单调下降。比如8块积木,排成3列,那么合法的安排方案为。思路分析:主要就是递推和递归,出口的设置就是一般都是找最特殊的地方,最开头的部分,普遍数据都是1或者0。以后每个样例占一行,为两个整数 n(1≤n≤100),m(1≤m≤10)。第一行是一个整数T(1≤T≤1000),表示样例的个数。请问n块积木按规则排成m有多少种不同的方案?依次每行输出一个样例的结果,为一个整数。
2022-11-02 16:20:39
395
原创 XTU OJ 1238
如果说第i-1位为0,第i位确定为1,那么a[i] = a[i-2];//因为i-1和i分别确定为0和1,不属于要求的情况,因此就看i-2的情况数就行了,如果第i-1位为1,那么11满足题意,i-1位前面的就任意取0或1,因此情况数就是2^(i-2)。思路分析:这道题应该用递推来做,首先对于i位数的总数就要看i-1的情况,而i-1变为i会有两种情况,一是在第i位加0,那么第i位确定为0,a[i]= a[i-1];每行输出一个样例的结果,因为数目可能很大,请对109+7取模。
2022-11-01 13:55:37
599
1
原创 XTU OJ Unique Digit Number
数位不同的数是指所有数位上的数码都不一样的数,比如“123”三个数码1,2,3,都不一样,所以是数位不同的数;但是“1232”中有两个相同的数码2,所以不是。请写一个程序,计算第几个符合条件的数是什么?
2022-10-31 15:36:21
670
原创 XTU OJ 128 X
输出一个"X"型字符图形,给定字符为。每行一个字符c,字符只含大写字母。思路分析:找规律罢了,找递推公式。按顺序输出每个样例的对应结果。
2022-10-30 17:17:53
168
原创 xtu oj Patchouli的金字塔
Patchouli想要绘制一个金字塔。金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下:每个三角形由*,/,\和-组成,分别代表三角形的顶点和三条边。第一行只包含一个正三角形,其余各行的三角形按照”正三角形,倒三角形,正三角形,倒三角形,…… “的顺序紧致排列。除最后一行外,每一行的三角形比上一行多2个。一共输出n个三角形。例如,n=1时,图案如下:*/ \* - *n=2时,图案如下:*/ \* - */ \* - *n=3时,图案如下:*/ \
2022-10-29 20:51:41
367
原创 XTU OJ 1217 A+B
小明非常高兴你能帮他处理那些罗马数字,他想学着自己写罗马数字,但是他不知道自己到底写对了没有。请你帮他写个程序,能正确地将10进制数字转换成罗马数字,以便他能进行核对。罗马数字是使用字母组合表示数字的。每行输入一个整数n,1≤n≤10,000。每行输出对应十进制整数的罗马数字。思路分析:分类讨论就完事了。
2022-09-29 22:24:22
173
原创 XTU OJ Prime twins
如果n和n+2都是素数,我们称其为孪生素数,比如3和5,5和7都是孪生素数。给你一个区间[a,b],请问期间有多少对孪生素数?第一行是一个整数K(K≤ 10000),表示样例的个数。以后每行一个样例,为两个整数,a和b,1≤a≤b≤5000000。思路分析:这道题主要就是要打表(标记素数,标记孪生素数,记录每个数前面到底有多少个孪生素数)每行输出一个样例的结果。
2022-09-29 22:22:29
389
4
原创 XTU OJ A+B V
小明很喜欢做a+b,他但经常忘记进位,所以他算88+12=90,而不是100。现在你给了小明一些a+b的算式,请问他算出来会是什么?第一行是一个整数K,表示样例的个数。每个样例占一行,为两个整数a,b,0≤a,b≤1e9。思路分析:将数的运算转化为字符串数组,也就是高精度加法,只不过舍掉了进位罢了。每行输出一个样例的结果,不要输出前导0。
2022-09-29 22:18:57
682
原创 XTU OJ 128 小鸡跳呀跳
小鸡跳呀跳是eric喜欢的一个小游戏,画面上会不断出现各种障碍物和金币,eric可以控制小鸡不断跳来跳去,通过障碍物,获取金币。如果不小心碰到障碍物,游戏就结束了。第一行是一个整数T(1≤T≤1000),表示样例的个数。以后每行一个样例,为一个不长度不超过200个字符的字符串,字符串中只存在。思路分析:这道题较为简单,具体思路见代码,但这道题要注意,那个是大写的O不是0。请写一个程序来帮eric计算一下每次游戏的得分。每行输出一个样例的结果,为一个整数。表示通过障碍物并获得一个金币,
2022-09-12 19:06:13
605
原创 XTU OJ D_Prime
整数n=p*q,p和q为质数,且p≠q,我们称n为D-Prime,请写个程序判断一个数是不是D_Prime。第一行是一个整数K,表示样例的个数。以后每行是一个整数x,(1 ≤ x ≤ 100,000,000);每行输出一个样例的结果,如果是输出“Yes”,否则输出“No”。
2022-09-09 22:57:40
1066
原创 XTU OJ 质因数分解
思路分析:这道题应该抓住第一个质因数一定小于第二个质因数,所以,我们应该先试除以第一个质因数,如果能除尽,然后就继续除,统计除了多少个第一个质因数,然后一旦除不尽了,就试着找第二个质因数,再次统计,如果为1就代表除完了。每行输出一个对应结果。使用”^”表示幂,”*”表示乘,质因子应该按从小到大的顺序输出,如果某一个质因子只有一次,那么就不要输出它的幂。任意一个正整数可以分解成唯一的质因数的乘积,给出正整数,请计算出它的质因数分解式。每行一个正整数2
2022-09-09 22:45:15
621
原创 XTU OJ 素数1076
对于大于1的自然数,如果n为素数,那么所有大于1且不大于n的平方根的自然数都不能整除n,反之亦然。所以我们可以通过测试来确定n是否为素数。现在给出n,要你求是否为素数,是输出Yes,否则输出No。每行一个正整数n,n
2022-09-09 22:23:44
620
原创 XTU OJ 素数个数
思路分析:这道题的难点就是打表打表打表!具体原理就是2如果是素数,那么4,6,8就一定不是素数,a是素数,2a,3a,4a就不是素数。第一行是一个整数K(1
2022-09-09 21:54:49
411
3
原创 XTU OJ String game
Alice和Bob正在玩一个基于字符串的游戏,一开始,Alice和Bob分别拥有一个等长的字符串S1和S2,且这两个字符串只包含小写字母。在每个回合中,Alice和Bob分别选择自己的字符串的某一个位置并把这个位置上的字母改变为其他小写字母。经过P个回合后,他们的得分分别等于自己的字符串中出现最多的字母出现的次数。最终得分高者获胜,如果两人得分相等,则为平局。现在你知道了初始的两个字符串S1、S2和回合数P,如果两人都以最优策略游戏,请问最后谁能获胜或者结果是平局。
2022-09-09 21:51:42
3615
3
原创 XTU OJ Buying gifts
快到年末了,Boss Liu准备在年会上发些礼物,由于不想礼物的价格区别太大,Boss Liu希望最好的礼物与最差的礼物价格相差越小越好。每个样例的第一行是一个整数n,m(1≤m≤n≤1000),分别表示可购买的礼物的个数和实际需要购买的个数。每个样例的第二行是n个整数xi,i=1,2,⋯,n(1≤xi≤100),表示n个礼物的价格。每个样例输出两个整数,分别表示最小的价差以及总的花费,中间用一个空格隔开。第一个样例,购买10,9,7的礼物的差值最小为3,总花费是26。第一行是一个整数K,表示样例的个数。
2022-09-09 21:41:10
214
原创 XTU OJ 湘潭大学
湘潭大学简称“XTU”,作为即将成为湘大的一份子,怎么不能为湘大添砖加瓦了?现在给你一个字符串,请你计算一下,从中选取字符,最多能组成多少个“XTU”?思路分析:思路较为简单,就是统计XTU三个字母的个数,选择这三个字母中出现次数最少的那个作为XTU字符串出现的字数。第一行是一个整数K,表示样例的个数。以后每行一个字符串,字符串只包含英文大写字母,长度不会超过1000。每行输出一个样例的结果。
2022-09-09 11:22:54
2096
原创 XTU OJ 三角形
每个样例的第一行是一个整数N(1≤N≤100),表示序列的大小, 如果N为0表示输入结束。这个样例不需要处理。第二行是N个整数,每个整数处于[0,100]之间。思路分析,就是两个数组,第一个数组在上面,第二个数组用来储存上一个数组两数之和。然后就这个第二个数组赋值给给第一个数组就这样来一次一次地循环。给一个序列,按下面的方式进行三角形累加,求其和值。比如序列为 1,2,3,4,5。每行输出一个样例的结果,由于结果可能很大,请将结果对2013取模。
2022-09-09 09:41:14
391
原创 递归练习之汉诺塔问题
对于递归,初学者在思考的过程中很容易陷入一个误区,就是一定要枚举出来才能证明我懂了,但数据量小的时候还好,数据量一大,就根本枚举不出来。我们就得让B上n-2个圆盘移动到A,再将B最下面的圆盘放到C,之后A柱子上有n-2个圆盘,你会发现要接下来,又会是n-3个圆盘移动到B,A上最下面的圆盘移动到C,这样的重复操作。思路分析:我们要让n个柱子全部移动到C柱子,就先得把n-1个柱子移动到B柱,注意我们不要去关注怎么移动,我们只关注最后结果,只需要知道已经移动到了B柱。下一步就是将A上最大的一个柱子移动到C,...
2022-08-29 09:49:50
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人