- 博客(89)
- 收藏
- 关注
原创 C++竞赛初阶—— 石头剪子布
起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。接下来 N 行的每一行包括两个字符串,表示游戏参与者 Player1,Player2 的选择(石头、剪子或者是布): S1,S2。输出包括 N 行,每一行对应一个胜利者(Player1 或者 Player2),或者游戏出现平局,则输出。
2024-10-08 07:51:38
1740
原创 C++竞赛初阶——基因相关性
现比对两条长度相同的 DNA 序列。首先定义两条 DNA 序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条 DNA 序列是相关的,否则不相关。为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的 DNA 进行比对,以判断该比对的 DNA 是否具有相关性。有三行,第一行是用来判定出两条 DNA 序列是否相关的阈值,随后 2 行是两条 DNA 序列(长度不大于 500)。
2024-10-08 07:46:35
302
原创 C++竞赛初阶L1-16-第七单元-字符串(36~37课)560: T456514 找第一个只出现一次的字符
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。输出第一个仅出现一次的字符,若没有则输出。一个字符串,长度小于 1100。
2024-09-19 09:46:24
359
原创 C++竞赛初阶L1-16-第七单元-字符串(36~37课)559: T456513 统计数字字符个数
输出为 1 行,输出字符串里面数字字符的个数。输入一行字符,统计出其中数字字符的个数。一行字符串,总长度不超过 255。
2024-09-19 09:41:19
438
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)558: T456508 图像模糊处理
接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在 0 ∼ 255 之间。2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。n 行,每行 m 个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。1. 四周最外侧的像素点灰度值不变;
2024-09-15 09:04:45
382
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)557: T456507 图像旋转
接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在 0∼255 之间。第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。m 行,每行 n 个整数,为顺时针旋转 90 度后的图像。相邻两个整数之间用单个空格隔开。输入一个 n 行 m 列的黑白图像,将它顺时针旋转 90 度后输出。
2024-09-12 09:57:34
765
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)556: T456506 矩阵转置
接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1∼1000 之间。第一行包含两个整数 n 和 m,表示矩阵 A 的行数和列数。m 行,每行 n 个整数,为矩阵 A 的转置。相邻两个整数之间用单个空格隔开。输入一个 n 行 m 列的矩阵 A,输出它的转置 AT。
2024-09-11 07:53:08
516
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)555: T456505 矩阵乘法
计算两个矩阵的乘法。n×m 阶的矩阵 A 乘以 m×k 阶的矩阵 B 得到的矩阵 C 是 n×k 阶的,且 C[i][j]=A[i][0]×B[0][j]+A[i][1]×B[1][j]+ ……+A[i][m−1]×B[m−1][j](C[i][j] 表示 C 矩阵中第 i 行第 j 列元素)。第一行为 n,m,k,表示 A 矩阵是 n 行 m 列,B 矩阵是 m 行 k 列,n,m,k 均小于 100。输出矩阵 C,一共 n 行,每行 k 个整数,整数之间以一个空格分开。
2024-09-10 16:09:25
489
转载 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)554: T456504 矩阵加法
输入两个 n 行 m 列的矩阵 A 和 B,输出它们的和 A+B,矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。第一行包含两个整数 n 和 m,表示矩阵的行数和列数 (1≤n≤100,1≤m≤100)。n 行,每行 m 个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。相邻两个整数之间用单个空格隔开,每个元素均在 1∼1000 之间。接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。接下来 n 行,每行 m 个整数,表示矩阵 B 的元素。
2024-09-09 10:39:34
338
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)552:553: T456503 图像相似度
说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。之后 m 行,每行 n 个整数 0 或 1,表示第一幅黑白图像上各像素点的颜色。之后 m 行,每行 n 个整数 0 或 1,表示第二幅黑白图像上各像素点的颜色。第一行包含两个整数 m 和 n,表示图像的行数和列数,中间用单个空格隔开。给出两幅相同大小的黑白图像(用 0−1 矩阵)表示,求它们的相似度。一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。
2024-09-09 10:35:34
319
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)552: T456502 计算鞍点
给定一个 5×5 的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中,第 4 行第 1 列的元素就是鞍点,值为 8。如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出。输入包含一个 5 行 5 列的矩阵。
2024-09-05 07:42:00
455
原创 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)551: T456501 计算矩阵边缘元素之和
所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。第 1 行包含两个整数,分别为行数 m 和列数 n,两个整数之间空格隔开。第 2 行开始有 m 行数据,每行包含 n 个整数,整数之间空格隔开。输入一个整数矩阵,计算位于矩阵边缘的元素之和。对应矩阵的边缘元素和。
2024-09-03 11:25:36
1028
转载 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)550: T456500 同行列对角线的格
输入三个自然数 N,i,j(1≤i≤n,1≤j≤n),输出在一个 N×N 格的棋盘中(行列均从 1 开始编号),与格子 (i,j) 同行、同列、同一对角线的所有格子的位置。(4,1)(3,2)(2,3)(1,4) 左下到右上对角线上的格子的位置。(1,2)(2,3)(3,4) 左上到右下对角线上的格子的位置。如:n=4,i=2,j=3 表示了棋盘中的第二行第三列的格子,(2,1)(2,2)(2,3)(2,4) 同一行上格子的位置。(1,3)(2,3)(3,3)(4,3) 同一列上格子的位置。
2024-09-02 08:44:37
400
转载 C++竞赛初阶L1-15-第六单元-多维数组(34~35课)549: T456499 矩阵交换行
给定一个 5×5 的矩阵(数学上,一个 r×c 的矩阵是一个由 r 行 c 列元素排列成的矩形阵列),将第 n 行和第 m 行交换,输出交换后的结果。输入共 6 行,前 5 行为矩阵的每一行元素,元素与元素之间以一个空格分开。输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。第 6 行包含两个整数 m、n,以一个空格分开(1≤m,n≤5)。
2024-08-30 15:47:20
392
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)548: T456478 不与最大数相同的数字之和
第二行为 N 个整数,数与数之间以一个空格分开,每个整数的范围是 −1000,000 到 1000,000。第一行为 N(N 为接下来数的个数,N≤100);输出一个整数数列中不与最大数相同的数字之和。输出为 N 个数中除去最大数其余数字之和。
2024-08-29 16:00:46
545
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)547: T456477 查找特定的值
第二行包含 n 个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。元素的绝对值不超过 10000。第三行包含一个整数 x,为需要查找的特定值。x 的绝对值不超过 10000。在一个序列(下标从 0 开始)中查找一个给定的值,输出第一次出现的位置。第一行包含一个正整数 n,表示序列中元素个数。1≤n≤10000。若序列中存在 x,输出 x 第一次出现的下标;
2024-08-29 15:58:28
486
转载 C++竞赛初阶L1-14-第六单元-数组(31~33课)546: T456476 开关灯
假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态;第一个人(1 号)将灯全部关闭,第二个人(2 号)将编号为 2 的倍数的灯打开,第三个人(3 号)将编号为 3 的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和 3 号一样,将凡是自己编号倍数的灯做相反处理。问当第 N 个人操作完之后,有哪些灯是关闭着的?输出为一行,按顺序输出关着的灯的编号。输入为一行,一个整数 N,为灯的数量。
2024-08-28 17:11:48
487
转载 C++竞赛初阶L1-14-第六单元-数组(31~33课)545: T456475 向量点积计算
给定两个 n 维向量 a=(a1,a2,⋯,an) 和 b=(b1,b2,⋯,bn),求点积 a · b=a1b1+a2b2+⋯+anbn。相邻整数之间用单个空格隔开。每个整数的绝对值都不超过 1000。在线性代数、计算几何中,向量点积是一种十分重要的运算。第二行包含 n 个整数 a1,a2,⋯,an。第三行包含 n 个整数 b1,b2,⋯,bn。第一行是一个整数 n。一个整数,即两个向量的点积结果。
2024-08-27 16:45:48
482
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)544: T456474 [NOIP2005 普及组] 校门外的树
已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 l 的位置;,l,都种有一棵树。接下来 m 行,每行两个整数 u,v,表示一个区域的起始点和终止点的坐标。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。第一行有两个整数,分别表示马路的长度 l 和区域的数目 m。
2024-08-26 14:02:04
425
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)543: T456473 年龄与疾病
第 2 行包含一个百分数,这个百分数保留小数点后 2 位,代表 19−35 岁这个年龄段的患者人数占总患者人数的比例。第 3 行包含一个百分数,这个百分数保留小数点后 2 位,代表 36−60 岁这个年龄段的患者人数占总患者人数的比例。第 4 行包含一个百分数,这个百分数保留小数点后 2 位,代表 61 岁及以上这个年龄段的患者人数占总患者人数的比例。第 1 行包含一个百分数,这个百分数保留小数点后 2 位,代表 0−18 岁这个年龄段的患者人数占总患者人数的比例。
2024-08-25 10:55:06
321
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)541: T456471 计算书费
第 i 个整数表示要购买上述第 i 种图书的数量(数量不超过 100,以本为单位,i 分别为 1,2,3,⋯,10)。输出一行,包含一个实数,表示应付的总费用。精确到小数点后一位。输入一行,含 10 个非负整数,每两个整数之间有一个空格。依次给定每种图书购买的数量,编程计算应付的总费用。
2024-08-23 15:21:55
314
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)540: T456470 [NOIP2005 普及组] 陶陶摘苹果
第一行包含 10 个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 到 120 之间(包含 100 和 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。
2024-08-23 15:17:59
567
原创 C++竞赛初阶L1-14-第六单元-数组(31~33课)539: T456469 与指定数字相同的数的个数
第一行为 n,表示整数序列的长度(n≤100);第二行为 n 个整数,整数之间以一个空格分开;输出一个整数序列中与指定数字相同的数的个数。输出为 n 个数中与 m 相同的数的个数。第三行包含一个整数,为指定的整数 m。
2024-08-22 10:51:54
402
原创 C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)538: T456457 第 n 小的质数
输入一个正整数 n,求正整数范围中第 n 小的质数。一个不超过 30000 的正整数 n。
2024-08-21 13:33:56
700
原创 C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)537: T456456 质因数分解
已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。输入只有一行,包含一个正整数 n(6
2024-08-21 13:29:48
449
原创 C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)536: T456455 画矩形
根据输入的四个参数:a,b,c,f 参数,画出对应的矩形。第三个参数 c 是一个字符,表示用来填充的矩形符号;第四个参数 f 为整数,0 代表空心,否则代表实心。前两个参数 a,b 为整数,依次代表矩形的高和宽;第一行:a,b,c,f。
2024-08-20 15:22:03
486
原创 C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)535: T456454 数字统计
比如给定范围 [2,22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次。请统计某个给定范围 [L,R] 的所有整数中,数字 2 出现的次数。输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。输出共 1 行,表示数字 2 出现的次数。
2024-08-19 14:56:03
305
原创 C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)534: T456453 与 7 无关的数
一个正整数,如果它能被 7 整除,或者它的十进制表示法中某一位上的数字为 7,则称其为与 7 相关的数。现求所有小于等于 n(n
2024-08-19 14:52:36
394
原创 C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)533: T456452 求出 e 的值
利用公式 e=1+1/1!,求 e 的值,要求保留小数点后 10 位。输出只有一行,该行包含计算出来的 e 的值,要求打印小数点后 10 位。输入只有一行,该行包含一个整数 n,表示计算 e 时累加到 1/n!
2024-08-17 20:38:40
429
原创 C++竞赛初阶L1-12-第五单元-while(27~28课)531: T456440 含 k 个 3 的数
输入两个正整数 m 和 k,其中 1
2024-08-17 20:35:40
571
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)527: T456436 [NOIP2002 普及组] 级数求和
已知:Sn=1+21+31+…显然对于任意一个整数 k,当 n 足够大的时候,Sn>k。现给出一个整数 k,要求计算出一个最小的 n,使得 Sn>k。
2024-08-16 09:52:29
305
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)526: T456435 角谷猜想
所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到 1。如,假定初始整数为 5,计算过程分别为 16 、 8 、 4 、 2 、 1。从输入整数到 1 的步骤,每一步为一行,每一部中描述计算过程。程序要求输入一个整数,将经过处理得到 1 的过程输出来。一个正整数 N(N≤2,000,000)。如果输入为 1,直接输出。
2024-08-16 09:50:10
353
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)525: T456434 球弹跳高度的计算
一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第 10 次落地时,共经过多少米?第 10 次反弹多高?注意:结果可能是实数,结果用 double 类型保存。第 1 行:到球第 10 次落地时,一共经过的米数。提示:输出时不需要对精度特殊控制,用。输入一个整数 h,表示球的初始高度。第 2 行:第 10 次弹跳的高度。
2024-08-15 08:21:26
361
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)524: T454437 幂的末尾
从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。两个正整数 a,b。幂 ab 的末 3 位数是多少?
2024-08-15 08:15:52
397
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)523: T454436 计算星期几
两个正整数 a,b,中间用单个空格隔开。假设今天是星期日,那么过 a 的 b 次方天之后是星期几?一个字符串,代表过 a 的 b 次方天之后是星期几。
2024-08-14 15:07:43
556
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)522: T454435 统计满足条件的 4 位数
给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。输入为两行,第一行为四位数的个数 n,第二行为 n 个的四位数。输出为一行,包含一个整数,表示满足条件的四位数的个数。
2024-08-14 15:03:43
338
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)519: T454430 人口增长问题
假设目前的世界人口有 x 亿,按照每年 0.1% 的增长速度,n 年后将有多少人?一行两个正整数 x 和 n,之间有一个空格。其中,1≤x≤100,1≤n≤100。一行一个数,表示答案。以亿为单位,保留到小数点后 4 位。
2024-08-12 08:34:57
550
原创 C++竞赛初阶L1-11-第五单元-for循环(25~26课)518: T454429 乘方计算
一行,包含两个整数 a 和 n。一个整数,即乘方结果。题目保证最终结果的绝对值不超过 1000000。给出一个整数 a 和一个正整数 n,求乘方 an。
2024-08-12 08:31:37
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人