自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KY223 二叉排序树(用Java实现)

可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个换行。输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。

2024-03-31 21:46:19 240

原创 KY145 EXCEL排序(用Java实现)

每个测试用例的第1行包含两个整数 N (N<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;

2024-03-31 20:44:19 793

原创 KY57 首字母大写(用Java实现)

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。可能有多组测试数据,对于每组数据, 输出一行:转换后的字符串。输入一行:待处理的字符串(长度小于100)。

2024-03-29 21:20:30 256

原创 KY184 C翻转(用Java实现)

首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。操作类型有四种: 1 2 表示:90度,顺时针,翻转4个数 1 3 表示:90度,顺时针,翻转9个数 2 2 表示:90度,逆时针,翻转4个数 2 3 表示:90度,逆时针,翻转9个数。每组输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。

2024-03-27 20:58:07 970

原创 KY7 质因数的个数(用Java实现)

求正整数N(N>1)的质因数的个数。相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。对于每组数据,输出N的质因数的个数。

2024-03-27 17:45:07 183

原创 KY26 10进制 VS 2进制(用Java实现)

对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。一个1000位(即10^999)以内的十进制数。输入的十进制数的二进制逆序数。

2024-03-26 21:27:12 140

原创 KY228 找位置(用Java实现)

对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;1,12, 2,9;可能有多组测试数据,对于每组数据, 按照样例输出的格式将字符出现的位置标出。2、相同的字母在一行表示出其出现过的位置。输入包括一个由字母和数字组成的字符串,其长度不超过100。

2024-03-26 20:58:25 250

原创 KY11 二叉树遍历(用Java实现)

编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。每个输出结果占一行。输入包括1行字符串,长度不超过100。

2024-03-25 21:27:22 256

原创 KY194 树查找(用Java实现)

每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。

2024-03-24 21:16:34 152

原创 KY238 Problem E(用Java实现)

请写一个程序,判断给定表达式中的括号是否匹配,表达式中的合法括号为”(“, “)”, “[", "]“, “{“, ”}”,这三个括号可以按照任意的次序嵌套使用。对每个表达式,若其中的括号是匹配的,则输出”yes”,否则输出”no”。有多个表达式,输入数据的第一行是表达式的数目,每个表达式占一行。

2024-03-22 17:53:50 130

原创 KY260 分组统计(用Java实现)

输入第一行表示样例数m,对于每个样例,第一行为数的个数n,接下来两行分别有n个数,第一行有n个数,第二行的n个数分别对应上一行每个数的分组,n不超过100。先输入一组数,然后输入其分组,按照分组统计出现次数并输出,参见样例。输出m行,格式参见样例,按从小到大排。

2024-03-22 15:33:56 211

原创 KY242 围圈报数(用Java实现)

N 个人围成一圈顺序编号,从1 号开始按1、2、3 顺序报数,报3 者退出圈外,其余的人再从1、2、3 开始报数,报3 的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。输入第一行为整数m表示有m组测试数据,接下来m行每行一个整数N,N不超过50。输出m行,每行表示题目所求,用空格隔开。

2024-03-21 15:29:35 385

原创 KY146 魔咒词典(用Java实现)

首先列出词典中不超过100000条不同的魔咒词条,每条格式为: [魔咒] 对应功能 其中“魔咒”和“对应功能”分别为长度不超过20和80的字符串,字符串中保证不包含字符“[”和“]”,且“]”和后面的字符串之间有且仅有一个空格。词典最后一行以“@END@”结束,这一行不属于词典中的词条。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。每个测试用例的输出占一行,输出魔咒对应的功能,或者功能对应的魔咒。

2024-03-20 17:08:28 297

原创 KY259 编排字符串(用Java实现)

第一行为字符串个数m,接下来m行每行一个字符床,m不超过100,每个字符床长度不超过20。请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如。输出:1=Alan 2=Peter 3=David 4=EricZ。输出:1=Jane 2=Alan 3=Peter 4=David。输出:1=Peter 2=David 3=EricZ。输出m行,每行按照样例格式输出,注意用一个空格隔开。输出:1=David 2=EricZ。输出:1=EricZ。

2024-03-19 20:20:24 218

原创 KY8 整数拆分(用Java实现)

一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,读入n(不超过1000000),输出f(n)%1000000000。每组输入包括一个整数:N(1<=N<=1000000)。

2024-03-19 15:37:05 196

原创 KY82 字符串排序(用Java实现)

可能有多组测试数据,对于每组数据, 将输入的所有字符串按长度由小到大排序输出(如果有“stop”,不输出“stop”)。根据输入的字符串个数来动态分配存储空间(采用new()函数)。测试数据有多组,注意使用while()循环输入。先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串少于一百个字符。如果在输入过程中输入的一个字符串为“stop”,也结束输入。然后将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。字符串的个数,以及该组字符串。

2024-03-18 20:30:15 341

原创 KY105 整除问题(用Java实现)

给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。两个整数n(2<=n<=1000),a(2<=a<=1000)

2024-03-18 18:11:57 354

原创 KY61 放苹果(用Java实现)

把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?注意:5、1、1 和 1、5、1 是同一种分法,即顺序无关。每组数据包含两个正整数 m和n(1≤m, n≤20)。对应每组数据,输出一个整数k,表示有k种不同的分法。

2024-03-18 16:15:52 363

原创 KY9 成绩排序(用Java实现)

输入第一行包括一个整数N(1<=N<=100),代表学生的个数。接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。如果学生的成绩相同,则按照学号的大小进行从小到大排序。用一维数组存储学号和成绩,然后,按成绩排序输出。

2024-03-18 15:38:11 378

原创 KY191 矩阵幂(用Java实现)

第一行:两个整数n(2<=n<=10)、k(1<=k<=5),两个数字之间用一个空格隔开,含义如上所示。接下来有n行,每行n个正整数,其中,第i行第j个整数表示矩阵中第i行第j列的矩阵元素Pij且(0<=Pij<=10)。另外,数据保证最后结果不会超过10^8。对于每组测试数据,输出其结果。格式为: n行n列个整数,每行数之间用空格隔开,注意,每行最后一个数后面不应该有多余的空格。给定一个n*n的矩阵,求该矩阵的k次幂,即P^k。

2024-03-17 19:56:36 718

原创 KY207 二叉排序树(用Java实现)

可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;现在给你N个关键字值各不相同的节点,要求你按顺序插入一个初始为空树的二叉排序树中,每次插入后成功后,求相应的父亲节点的关键字值,如果没有父亲节点,则输出-1。第二行,N个互不相同的正整数,表示要顺序插入节点的关键字值,这些值不超过10^8。输出共N行,每次插入节点后,该节点对应的父亲节点的关键字值。

2024-03-17 16:12:35 392

原创 KY39 大整数的因子(用Java实现)

每一个c的结果占一行 1) 若存在满足 c%k == 0 的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。2) 若没有这样的k则输出"none" 注意整数溢出问题 不要对-1进行计算。已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k.若干个非负整数c,c的位数<=30 每行一个c。

2024-03-16 18:09:47 334

原创 KY170 字符串去特定字符(用Java实现)

输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。测试数据有多组,每组输入字符串s和字符c。对于每组输入,输出去除c字符后的结果。

2024-03-16 17:44:36 350

原创 KY56 数制转换(用Java实现)

不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b

2024-03-16 16:45:14 359

原创 KY97 数字反转(用Java实现)

12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。如果满足题目的要求输出a+b的值,否则输出NO。每行两个正整数a和b(0<a,b<=10000)。

2024-03-15 15:47:08 356

原创 KY19 今年的第几天?(用Java实现)

输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。输入年、月、日,计算该天是本年的第几天。

2024-03-15 14:44:22 348

原创 KY77 拦截导弹(用Java实现)

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。每组输入有两行, 第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25), 第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。

2024-03-15 14:35:56 404

原创 KY22 最大序列和(用Java实现)

给出一个整数序列S,其中有N个数,定义其中一个非空连续子序列T中所有数的和为T的“序列和”。对于S的所有非空连续子序列T,求最大的序列和。变量条件:N为正整数,N≤1000000,结果序列和在范围(-2^63,2^63-1)以内。输入可能包括多组数据,对于每一组输入数据, 仅输出一个数,表示最大序列和。第一行为一个正整数N,第二行为N个整数,表示序列中的数。

2024-03-14 20:34:46 423

原创 KY66 点菜问题(用Java实现)

北大网络实验室经常有活动需要叫外卖,但是每次叫外卖的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。输入的第一行有两个整数C(1 <= C <= 1000)和N(1 <= N <= 100),C代表总共能够报销的额度,N>代表能点菜的数目。输出只包括一行,这一行只包含一个整数,表示在报销额度范围内,所点的菜得到的最大评价分数。

2024-03-14 16:25:11 372

原创 KY175 连通图(用Java实现)

每组数据的第一行是两个整数 n 和 m(0<=n<=1000)。n 表示图的顶点数目,m 表示图中边的数目。随后有 m 行数据,每行有两个值 x 和 y(0<x, y <=n),表示顶点 x 和 y 相连,顶点的编号从 1 开始计算。输入不保证这些边是否重复。对于每组输入数据,如果所有顶点都是连通的,输出"YES",否则输出"NO"。给定一个无向图和其中的所有边,判断这个图是否所有顶点都是连通的。

2024-03-13 21:10:31 395

原创 KY161 最大公约数(用Java实现)

测试数据有多组,每组输入两个正整数。对于每组输入,请输出其最大公约数。输入两个正整数,求其最大公约数。

2024-03-13 17:49:47 362

原创 KY212 二叉树遍历(用Java实现)

二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问根,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。二叉树中的结点名称以大写字母表示:A,B,C....最多26个结点。输入样例可能有多组,对于每组测试样例, 输出一行,为后序遍历的字符串。

2024-03-12 20:45:41 400 1

原创 KY87 鸡兔同笼(用Java实现)

输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开 如果没有满足要求的答案,则输出两个0。一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。每组测试数据占1行,每行一个正整数a (a < 32768)

2024-03-12 19:52:54 387 1

原创 KY140 开门人和关门人(用Java实现)

每天的记录在第一行给出记录的条目数M (M > 0 ),下面是M行,每行的格式为 证件号码 签到时间 签离时间 其中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。对每一天的记录输出1行,即当天开门和关门人的证件号码,中间用1空格分隔。注意:在裁判的标准测试输入中,所有记录保证完整,每个人的签到时间在签离时间之前,且没有多人同时签到或者签离的情况。现有一堆杂乱的机房签到、签离记录,请根据记录找出当天开门和关门的人。

2024-03-12 16:26:37 347 1

原创 KY29 谁是你的潜在朋友(用Java实现)

幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。每个案例第一行两个整数N,M,2

2024-03-12 15:55:55 330 1

原创 KY188 哈夫曼树(Java实现)

哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和的最小值。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。

2024-03-11 17:08:40 269

原创 KY213 奇偶校验(Java实现)

可能有多组测试数据,对于每组数据, 对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。输入包括一个字符串,字符串长度不超过100。

2024-03-10 16:47:02 383 1

原创 KY172 字符串的反码(Java实现)

一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。一个字符串的反码定义为其所有字符的反码。我们的任务就是计算出给定字符串的反码。

2024-03-10 15:13:44 401 1

原创 KY150 最小长方形

TreeSet集合

2024-03-09 16:14:40 339

原创 KY137 继续xxx定律(用Java实现)

当n为3时,我们在验证xxx定律的过程中会得到一个序列,3,5,8,4,2,1,将3称为关键数,5,8,4,2称为覆盖数。现在输入n个数字a[i],根据关键数与覆盖数的理论,我们只需要验证其中部分数就可以确定所有数满足xxx定律,输出输入的n个数中的关键数。输入数据包含多个用例,每个用例首先包含一个整数n,然后接下来一行有n个整数a[i],其中: 1

2024-03-09 15:45:18 351

空空如也

空空如也

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

TA关注的人

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