自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 问答 (1)
  • 收藏
  • 关注

原创 Codeforces 597A. Vitaliy and Pie

【代码】Codeforces 597A. Vitaliy and Pie。

2024-07-18 22:15:33 493

原创 Codeforces 1688A. Cirno‘s Perfect Bitmasks Classroom

对于任意一个数x,只要跟x不同的任何数,该数与x的异或一定大于零,考虑到最小,该数临界值为x+1。对于&位运算则需要在x+1的基础上枚举。

2024-07-18 22:07:46 772

原创 Codeforces 1407C. Chocolate Bunny

对于两个数a,b,若a%b<b%a,则b=b%a;若a%b>b%a,则a=a%b。

2024-07-17 22:19:38 456

原创 Codeforces 501C. Misha and Forest

【代码】Codeforces 501C. Misha and Forest。

2024-07-17 22:13:38 560

原创 Codeforces 584C. Marina and Vasya

【代码】Codeforces 584C. Marina and Vasya。

2024-07-17 21:48:31 341

原创 Codeforces 1155 C. Alarm Clocks Everywhere

即求一个首项为y,公差为p的等差数列。题中所给的x序列为该等差数列的子序列。的差值的最大公约数,求得最小的最大公约数即可。

2024-07-17 21:43:53 707

原创 Codeforces 1266B Dice Tower

【代码】Codeforces 1266B Dice Tower。

2024-07-17 21:34:37 820

原创 作业训练二编程题18. 棋盘

每个测试用例的第一行是一个正整数N(1

2024-07-11 11:11:51 225

原创 作业训练二编程题17. 飞行棋

刚刚开始时,两个玩家都站在第0格上,依次扔骰子,根据骰子显示的点数走相应的格子数。比如,棋盘一共有7(0~6)个格子,玩家在第4格上,扔出了6点,最终他会走到第2格上(4->5->6->5->4->3->2)。否则字符串为"GX"(X为0到N-1之间的整数)的形式,其中X表示玩家走到这个格子时,要马上飞到第X个格子。即一旦A玩家已经在某个格子上,B玩家又走到这里,A玩家则会被踢回第0格,而B玩家留在这个格子上面。第N-1个格子是终点,一旦一个玩家走到这个格子上,该玩家获胜,游戏结束。

2024-07-09 15:38:00 291

原创 作业训练二编程题16. 点球大战

【问题描述】在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规比赛和加时赛之后仍然不分胜负时,需要进行点球大战来决定谁能够获得最终的胜利。每组数据的第一行包含一个整数N(1<=N<=18),表示双方总共罚了多少个点球,N=0表示输入结束。与足球的规则不同的是,它只先罚3轮点球,随后就进入一轮定胜负的阶段,而其他的规则完全一样。数据不保证点球大战一定结束,也不保证在结束以后立即结束这组数据(即:不用判断点球大战是否结束,只用把罚进的点球往比分上加即可)。本题是大小写相关的。

2024-07-09 13:20:15 432

原创 作业训练二编程题15. 电话号码

每一条都以朋友的姓名开头,然后跟着当前条目中的电话号码个数,然后是本人的电话号码。Vasya还认为,如果电话号码a是电话号码b的后缀(也就是说,号码b以a结尾),这两个号码被当作同一个电话号码,那么a被认为是无城市代码,它不应该被考虑。输出整理后Vasya朋友的电话号码信息。接下来的m行,包含以格式“姓名 电话号码个数 电话号码1 ... 电话号码k"的条目,号码间以空格分隔。Vasya有几本电话簿,记录了他的朋友们的电话号码,每一个朋友都可以有一或几个电话号码。输出Vasya的朋友的电话号码的有序信息。

2024-07-09 13:12:05 464

原创 作业训练二编程题14. 缺席考试的是谁

现在只能根据这2n-1个姓名(名册上有n个学生姓名,签到有n-1个姓名,签到姓名和名册姓名可能混在一起了),来找到缺席考试的人是谁。以下2n-1行,每行一个字符串,长度不超过20,表示一个人的姓名。糟糕的是,尽管有签到表,但由于人数较多,签到情况比较混乱:有的签到表签在一张白纸上,有的虽然签在名册上,但并不是签在自己姓名旁,更有学生签到了别的签到表上……本题中每组数据的输入顺序是混乱的,且不存在签到次数较多的情况,异或操作是不必要的。对于每组测试数据,输出一行,只包含一个字符串,表示缺席的人的姓名。

2024-07-08 16:43:27 217

原创 作业训练二编程题13. 487-3279

TUT-GLOP的标准格式是888-4567,310-GINO的标准格式是310-4466,3-10-10-10的标准格式是310-1010。你可以从比萨饼小屋中订购比萨饼,方法是拨打他们的“3个10”,即号码3-10-10-10。你的公司正在编制本地企业的电话号码目录,作为质量控制的一部分,你需要检查没有两个(或多个)企业具有相同的电话号码。对于出现超过一次的每个号码,按照标准格式及字典序每个输出一行,然后是空格,接着输出出现的次数。当两个电话号码有相同的标准格式时是等价的(拨同样的号码)。

2024-07-08 16:21:43 286

原创 作业训练二编程题12. 拼写检查

对于每个在输入中出现的单词,按照它们在输入的第二部分出现的顺序输出一行。如果该单词不正确,则首先输出该单词,然后输入符号':'(冒号),之后空一格,写出它所有可能的替代,以空格分隔。输入的第一部分包含所有字典中的词,每个单词占用一行,以一个单一字符“#”作为结束。所有单词都不相同,字典中至多1000个单词。作为一个新的拼写检查程序开发团队的成员,您将编写一个模块,用已知的所有形式正确的词典来检查给定单词的正确性。在输入中所有的单词(字典中的和需要检查的)都仅由小写字母组成,每个最多包含15个字符。

2024-07-08 15:44:20 244

原创 作业训练二编程题11. 最小的K个数

其思想类似于快排,快排的思想是通过基准值pivot调整数组,pivot前的所有元素严格小于pivot,pivot后的所有元素严格大于pivot。例如输入4,5,1,6,1,7,3,8这8个数字,则最小的4个数字是1,3,4,5。对应每个测试案例,输出最小的k个数,并按从小到大顺序打印(如果不存在k个不同的数,则按照实际数量进行输出)。第二行包含n个整数,表示这n个数,数组中的数的范围是[0,1000 000 000]。第一行为2个整数n,k(1<=n,k<=200000),表示数组的长度。

2024-07-08 10:42:49 188

原创 作业训练二编程题10. 绩点计算

学校对本科生的成绩施行绩点制(GPA)。将学生的实际考分根据不同学科的不同学分按一定的公式进行计算。2. 总评绩点=所有学科绩点之和/所有课程学分之和。第二行 相应课程的学分(两个学分间用空格隔开)1. 一门课程的学分绩点=该课绩点*该课学分。现要求你编程求出某人的总评绩点(GPA)60以下 0。输出有一行,总评绩点,保留两位小数。实际成绩 绩点。第三行 对应课程的实际得分。此处输入的所有数字均为整数。第一行 总的课程数n。

2024-07-08 09:45:34 123

原创 作业训练二编程题9. 锤子剪刀布

输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1个空格。如果解不唯一,则输出按字母序最小的解。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

2024-07-08 09:35:55 170

原创 作业训练二编程题8. 数圈

以1为中心,用2,3,4, ..., n, ..., n*n的数字围绕着中心输出数圈, 如若n=4,则。本题采用递推,从n=1开始生成数圈,每次生成时加半圈数字即可。一个整数n(1<=n<=10)提供的代码的时间复杂度为。

2024-07-08 09:09:54 156

原创 作业训练二编程题7. 小丑排序

你在信天翁马戏团(是的,它是由一群小丑组成)从事管理工作,你刚刚写完一个程序的输出是将他们的姓名按长度为非递减的方式排列,名称列表(使每名至少只要它之前的)。然而,你的老板不喜欢这种输出方式,而是希望输出出现更对称,较短的字符串在顶部和底部,而较长的字符串在中间。输入由1到多个字符串集合组成,最后一行为0表示输入结束,每个集合开始于一个整数n,表示该集合字符串的个数,接下来n行由n个字符串按长度非递减的方式排列,每个集合至少包含一个但不超过15个字符串,每个字符串不超过25个字符。

2024-07-07 21:02:15 191

原创 作业训练二编程题6. 小A的计算器

接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。每个数会用小A所设计的操作系统中的表示方法来表示,如:bsadfasdf。以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?输出x和y相加后的结果,结果也要用题目中描述的26进制数来表示。

2024-07-07 19:33:56 240

原创 作业训练二编程题5. 金币

在未来三天(第五,第四,和第六天的服务),骑士每天收到三金币。在未来四天(第七,第八,第九,和第十天的服务),骑士每天收到四金币。这一模式的付款方式将继续下去:在接下来的n天骑士每天将收到n枚金币,而在接接下来的n+1天每天将收到n+1枚金币,这里n是正整数。你的程序将确定在任何给定的天数(从第1天开始)支付给骑士的金币总数。输入的每一行包含一个测试案例的数据,即一个整数(1~10000),代表天数。每一行输出对应一个测试用例,由天数和支付给骑士的金币总数量组成,中间用空格分隔。

2024-07-07 19:07:39 170

原创 作业训练二编程题4. 亲和数

而 284 的所有真约数为 1、2、4、71、 142,加起来恰好为 220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。输入若干行数据(大于0),每行一个实例,包含两个整数A,B;其中 0 <= A,B <= 600000;对于每个测试实例,如果 A 和 B 是亲和数的话输出 YES,否则输出 NO。你的任务就编写一个程序,判断给定的两个数是否是亲和数。

2024-07-07 15:38:33 243

原创 作业训练二编程题3. 数的距离差

输出一个数x,该数在所有n个数中的距离差最小;如果有两个数的距离差都是最小,输出较小的哪个。通过维护最大最小值,可以获得常数时间复杂度的优化。提供的代码的时间复杂度为。包括两行,第一行一个数n,表示第二行有n个正整数。空间复杂度应该可以继续降低,我暂时没有思路。其中abs()为求一个数的绝对值。

2024-07-07 11:22:07 167

原创 作业训练二编程题2. xxx定律

对于一个正整数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。请计算需要经过几步才能将n变到1,具体可见样例。

2024-07-06 22:19:02 96

原创 作业训练二编程题1. 字符串反转2

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。比如: “hello xiao mi”-> “mi xiao hello”输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)对于每个测试示例,要求输出句子中单词反转后形成的句子。本题很容易想到先进后出这一特性,用队列和栈都可以实现。

2024-07-06 22:09:44 136

原创 作业训练一编程题21. 计算校验码

传送一个B(B≤16)进制的数值N时,最后加上一个一位(B进制的)校验码,使得N加上校验位后能被B-1整除。超过十进制后,用字母a表示10,字母b表示11,字母c表示12,字母d表示13,字母e表示14,字母f表示15。后面有t行,每行两个正整数B,N(2≤ B≤16),中间用一个空格隔开,B是10进制整数,N用B进制形式表示。第三组测试数据 16进制数1234321 最后添加检验码e(=14),16进制数1234321e是15(=16-1)的倍数。(如果校验码可以为B-1,也可以为0,输出0)。

2024-07-06 21:46:23 222

原创 作业训练一编程题20. 二叉树遍历,从前序、中序到后序

每组测试数据第二行是二叉树的前序遍历的结果,是一个长度为n的字符串,每个节点由一个字符表示,字符是大小写英文字母及10个数字,不同的节点用不同的字符表示,也即无论前序遍历和中序遍历的字符串中没有重复的字符。需要你编写程序解决的问题是:已知一个二叉树的前序遍历和中序遍历的结果,给出该二叉树的后序遍历的结果。对于每组测试数据,输出一行,是一个长度为n的字符串,表示二叉树后序遍历的结果。每组测试数据第二行是二叉树的中序遍历的结果,也是一个长度为n的字符串。前序遍历:根结点 ---> 左子树 ---> 右子树。

2024-07-06 20:24:44 390

原创 作业训练一编程题18. F1方程式冠军

只有前10名车手按以下顺序获得分数:25、18、15、12、10、8、6、4、2、1。如果有平分,则冠军是赢的最多的人(即排位第一)。如果还是平分,则选择得到排位第二最多的人,依此类推,直到没有更多的排位进行比较。之后是每个分站赛的最终排位情况,每个的第一行一个整数n(1<=n<=100)表示排位车手人数,之后n行按排位列出车手的名字,排位从第一到最后,车手的名字为长度不超过50的英文字符,大小写区分。如果仍然存在平手,则按原来的得分制度进行,即比较第二、第三、第四、...排位的次数。

2024-07-03 20:37:41 292

原创 作业训练一编程题17. 世界杯来了

接下来的n*(n-1)/2行,每行格式name1-name2 num1:num2(0<=num1, num2<=100),表示对阵球队及比分.作为中国球迷,不能总是看别人踢球,这不福利来了,根据FIFA(国际足联)及全体成员协会的一致决定,2118年世界杯将在中国举办,作为东道主,中国队将无需参加预选赛而直接参加决赛阶段的比赛。输入n/2行,表示进入淘汰赛阶段的球队,按照字典序进行排列,每个球队名字占一行。编写一个程序,根据给出的参赛队伍名单和所有比赛的结果,找出成功进入淘汰赛阶段的球队名单。

2024-07-03 20:08:58 187

原创 作业训练一编程题16. 合法的括号串

所以<<>> , [<>{}(())],[({<>})]是合法的括号串,而)(,[( ])就不是。(2)如果r是合法括号串,则<r> (r) [r] {r}也是;(1)<> () [] {} 这四对括号是合法的;10%的括号串的长度L 2 ≤ L≤ 20000;20%的括号串的长度L 2 ≤ L≤ 2000;30%的括号串的长度L 2 ≤ L≤ 200;40%的括号串的长度L 2 ≤ L≤ 20;对于每组测试数据,如果括号串是合法的,输出“(3)如果r,s是合法括号串,则rs也是;,基于栈实现,较简单。

2024-07-03 17:39:49 174

原创 作业训练一编程题15. 欧洲冠军联赛

每组数据共有12 行,每行描述一场比赛,格式为:“主队队名主队进球数vs. 客队进球数客队队名”,其中“主队队名”和“客队队名”为字符串,“主队进球数”和“客队进球数”为两球队在本场比赛中各自的进球数量。在比赛的小组赛阶段,欧洲的各个足球俱乐部被分为八个小组,每个小组中四支球队。给定一个小组内12 场比赛的结果,请求出小组的出线队伍:即排名第一和第二的两支球队。对于每组数据,输出一行,包含两个字符串,代表排名第一和第二的球队的队名。所有球队的积分相同,但是净胜球数较多的队伍排名更加靠前。

2024-07-03 17:13:33 468

原创 作业训练一编程题14. 拳王阿里

有这么一段时间,他总是参加各种不同的比赛,以至于他自己也不知道从第一场比赛开始到最后一场比赛结束到底用了多长时间。他只记得比赛的第一天是星期几(S),最后一场比赛的最后一天是星期几(E)。他还记得比赛的总天数(包括第一和最后一天)不少于L天,也不多于R天。给定S和E,能否唯一确定参加比赛总天数(包含该段时间内比赛间的间隔天数)?输入的第一行包含一个整数T,代表测试数据的组数。每组数据仅有一行,首先包含两个字符串S和E,然后包含两个整数L和R。否则,输出一行,包含一个整数,代表唯一满足条件的天数。

2024-07-03 16:36:00 216

原创 作业训练一编程题13. 错误的里程表

但很快小明发现汽车的里程表有问题:里程表上每一位都不显示数字3和数字8,也就是说直接从数字2跳到数字4,直接从数字7跳到数字9。后面有T行,每行一个非负整数,表示里程表显示数字,里面不含有数字3和8。现在,小明向你求助:根据里程表显示的数字,给出真实的行驶里程。对于每组测试数据,输出一个整数占一行:真实的行程里程。30%的测试数据组数T 102≤T≤ 103;20%的测试数据组数T 103≤T≤ 104;10%的测试数据组数T 104≤T≤ 105;40%的测试数据组数T 10≤T≤ 102;

2024-07-02 23:47:10 307

原创 作业训练一编程题12. 内存管理

输入数据的第一行包含两个正整数t和m(1<=t<=500, 1<=m<=105),其中t表示需要内存管理器来处理的操作个数,m表示有效的内存字节大小。输出有多行,每行或者是alloc操作的结果,或者是失败的erase操作的结果ILLEGAL_ERASE_ARGUMENT。编写内存管理器的实现,为每个alloc命令输出返回的值,为所有失败的erase命令输出ILLEGAL_ERASE_ARGUMENT。在此情况下,内存模型非常简单,它是一个m字节的序列,为了方便起见,从第一个字节到第m字节进行编号。

2024-07-02 23:13:03 470

原创 作业训练一编程题11. 平均方差

每组测试数据第一行是一个正整数N,表示数列中元素个数,接下来一行N个用空格分隔开的正整数,表示数列的N个元素,每个元素的值都是不大于500的正整数。平均方差不是整数的,输出其向下取整的整数。10%的数列元素个数N 1 ≤ N≤ 10000;20%的数列元素个数N 1 ≤ N≤ 1000;30%的数列元素个数N 1 ≤ N≤ 100;40%的数列元素个数N 1 ≤ N≤ 10;其平均值为4,每个元素与平均值的差的平方为。其平方和为28,所以该数列的平均方差为4。对给定的数列,求出其平均方差。

2024-07-02 21:31:08 211

原创 作业训练一编程题10. IP地址

其中0 ≤IP1,IP2,IP3,IP4≤ 255,用十进制表示。每个IP地址不保证是实用IP地址。对于每个IP地址,输出一行包含一个非负整数:该IP地址的32个二进制位中,1的位数。现在给你一个上述形式的IP地址,请回答IP地址的32个二进制位中,有多少位是1。测试数据第一行是一个正整数T,表示测试数据组数。30%的测试数据组数T 102≤T≤ 103;20%的测试数据组数T 103≤T≤ 104;10%的测试数据组数T 104≤T≤ 105;40%的测试数据组数T 10≤T≤ 102;

2024-07-02 21:11:29 175

原创 作业训练一编程题9. 电能消耗

在汤姆最后一次移动鼠标或触摸键盘后的T1分钟,屏幕保护程序启动,每分钟的功耗变化为P2瓦。汤姆使用笔记本电脑工作的时间可以分为n个时间间期[l1, r1]、[l2, r2]、...、[ln, rn]。第一行包含6个整数n、P1、P2、P3、T1、T2(1<=n<=100,0<=P1、P2、P3<=100,1<=T1、T2<=60)。接下来的n行包含了汤姆工作的期间,第i行是两个用空格分隔的整数li和ri(0<=li<=ri<=1440, 当i<n时ri<li+1), 表示工作期间的开始时间和结束时间。

2024-07-02 19:25:23 150

原创 作业训练一编程题8. 循环数

循环数是n位长度的整数,当乘以从1到n的任何整数时,产生原始数字的“循环”。也就是说,如果考虑最后一个数字之后的数字“绕”回到第一个数字,两个数字中的数字序列将是相同的,尽管它们可能从不同的位置开始。输入一个数,长度在2到60位之间(请注意,前面的零不应该被删除,它们被认为是确定n的大小和计数的一部分,因此,“01”是一个两位数的数字,与“1”是一个一位数的数字不同。对于每个输入,输出一行(Yes或No)标识它是否是循环数。编写一个程序来确定数字是否是循环数。计科2101 廖曙康提供测试数据。

2024-07-02 19:00:16 237

原创 作业训练一编程题7. 三角形的面积

每组测试数据占一行,6个用空格分隔开的浮点数:x1,y1,x2,y2,x3,y3。表示三角形三个顶点的坐标。10%的顶点坐标 -10000 ≤ xi,yi≤ 10000;一行6个0(形如0 0 0 0 0 0),表示输入结束,并且不需要处理。20%的顶点坐标 -1000 ≤ xi,yi≤ 1000;30%的顶点坐标 -100 ≤ xi,yi≤ 100;40%的顶点坐标 -10 ≤ xi,yi≤ 10;对于每组测试数据,输出对应三角形面积,保留小数点后6位。已知三角形的三个顶点的坐标,求该三角形的面积。

2024-07-02 17:05:21 403

原创 作业训练一编程题6. 字符串排序

比如"DAABEC''这个字符串的无序度是5,因为D后面有4个位置比它小(AABC),E后面有1个比它小(C),其它位置后面没有比自己小的。现在你的任务是给定一些字符串(只由大写字母组成),把他们按照无序度从小到大排序,如果无序度一样,那么就按照输入的相对顺序排序。第一行有两个整数n(0 < n

2024-07-02 16:55:50 197

空空如也

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

TA关注的人

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