- 博客(35)
- 收藏
- 关注
原创 2064交换值
学过swap的都知道吧,swap是c++的内部函数,格式是这样的:swap(a,b);翻译过来就是交换a和b,所以这道题的代码很简单。一个a,和一个b,交换思路为:把a存在另一个变量里,再把a和b互换,最后把b赋值为存a的那个数。大体思路是这样的:首先,
2023-08-28 21:22:44
93
原创 整数奇偶排序
输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于30000。按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。时间限制: 1000 ms 内存限制: 65536 KB。提交数: 25708 通过数: 16657。给定10个整数的序列,要求对其重新排序。1.奇数在前,偶数在后;2.奇数按从大到小排序;3.偶数按从小到大排序。1181:整数奇偶排序。
2022-12-08 18:39:19
188
原创 分数线划定
面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。第一行,两个整数n,m(5≤n≤5000,3≤m≤n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的志愿者人数。从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
2022-12-08 18:37:45
176
原创 奖学金
期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。第j行的3个数字依次表示学号为 j−1 的学生的语文、数学、英语的成绩。这两名同学的总分都是 279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为7的学生语文成绩更高一些。
2022-12-08 18:35:46
130
原创 成绩排序
接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。时间限制: 1000 ms 内存限制: 65536 KB。第一行为n (0 < n < 20),表示班里的学生数目;提交数: 52387 通过数: 21643。
2022-12-08 18:33:32
142
原创 奇数单增序列
给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。时间限制: 1000 ms 内存限制: 65536 KB。增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。提交数: 40500 通过数: 20723。第2行为 N 个正整数,其间用空格间隔。1177:奇数单增序列。
2022-12-08 18:29:28
141
原创 谁考了第k名
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。时间限制: 1000 ms 内存限制: 65536 KB。输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)提交数: 57952 通过数: 25702。1176:谁考了第k名。
2022-12-08 18:27:27
157
原创 1311:【例2.5】求逆序对
时间限制: 1000 ms 内存限制: 65536 KB提交数: 44158 通过数: 10445给定一个序列a1,a2,…,an,如果存在iaj,那么我们称之为逆序对,求逆序对的数目。第一行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。所有逆序对总数。432323N≤105,Ai≤105。(归并改一下就可以了)
2022-12-07 23:15:44
433
原创 1310 【例2.2】车厢重组
时间限制: 1000 ms 内存限制: 65536 KB提交数: 33106 通过数: 20178在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。有两行数据,
2022-12-07 23:13:11
200
原创 回文数(Noip1999)
时间限制: 1000 ms 内存限制: 65536 KB提交数: 18893 通过数: 7833若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,STEP1: 87+78= 165 STEP2: 165+561= 726STEP3: 726+627=1353 STEP4:1353+3531=4884在这里的一步是指进行了一次N进制
2022-12-07 23:01:36
211
原创 1402 Vigenère密码
6世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法——Vigenère密码。Vigenère密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。在密码学中,我们称需要加密的信息为明文,用M表示;称加密后的信息为密文,用C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为k。 在Vigenère密码中,密钥k是一个字母串,k=k1k2…kn。当明文M=m1m2…mn时,得到的密文C=c1c2…cn,其中ci=mi®ki
2022-12-07 13:35:34
250
原创 1250:The Castle
一座城堡被分成m*n个方块(m≤50,n≤50),每个方块可有0~4堵墙(0表示无墙)。下面示出了建筑平面图:图中的加粗黑线代表墙。几个连通的方块组成房间,房间与房间之间一定是用黑线(墙)隔开的。现在要求你编一个程序,解决以下2个问题:平面图用一个数字表示一个方块(第1个房间用二进制1011表示,0表示无东墙,用十进制11表示)。第一行一个整数m(m≤50),表示房子南北方向的长度。第二行一个整数n(n≤50),表示房子东西方向的长度。后面的m行,每行有n个整数,每个整数都表示平面图对应位置的方块的特征。
2022-12-05 23:35:27
167
原创 洛谷 P1157 组合的输出(c++)
排列与组合是常用的数学方法,其中组合就是从 nn 个元素中抽出 rr 个元素(不分顺序且 r \le nr≤n),我们可以简单地将 nn 个元素理解为自然数 1,2,\dots,n1,2,…,n,从中任取 rr 个数。现要求你输出所有组合。例如 n=5,r=3n=5,r=3,所有组合为:123,124,125,134,135,145,234,235,245,345123,124,125,134,135,145,234,235,245,345。一行两个自然数 n,r(1
2022-12-04 15:30:36
720
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人