随笔分类 -  c++奥赛题分享

20201003--统计数字字符个数(奥赛一本通 P98 1--字符类型和字符数组)
摘要:输入一行字符,统计出其中数字字符的个数 输入:一行字符串,总长度不超过255 输出:一行,输出字符串里面数字字符的个数。 样例输入:Peking University is set up at 1898 样例输出:4 解法1(用char数据类型): #include <bits/stdc++.h> 阅读全文

posted @ 2020-10-03 10:31 财盛 阅读(729) 评论(0) 推荐(0)

20200926--图像旋转(奥赛一本通P96 9 多维数组)
摘要:输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。 输入:第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示图像包含像素点的行数和列数。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在1-255之间。 输出:m行,每行n个 阅读全文

posted @ 2020-09-27 06:14 财盛 阅读(431) 评论(0) 推荐(0)

20200926--矩阵转置(奥赛一本通P95 8 多维数组)
摘要:输入一个n行m列的矩阵A,输出它的转置(看下面说明) 输入:第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示矩阵A的行数和列数。接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。 输出:m行,每行n个元素,为矩阵A的转置 阅读全文

posted @ 2020-09-26 19:22 财盛 阅读(303) 评论(0) 推荐(0)

20200925--矩阵乘法(奥赛一本通P94 多维数组)
摘要:计算两个矩阵的乘法。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列元素。) 输入:第1行为n,m,k,表示A矩阵是 阅读全文

posted @ 2020-09-25 19:31 财盛 阅读(470) 评论(0) 推荐(0)

20200925--矩阵加法(奥赛一本通P93 6 多维数组)
摘要:输入两个n行m列的矩阵A和B,输出它们的和A+B 输入: 第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示矩阵的行数和列数。 接下来n行,每行m个整数,表示矩阵A的元素。 接下来n行,每行m个整数,表示矩阵B的元素。 相邻两个整数之间用单个空格隔开,每个元素均在1-1000之 阅读全文

posted @ 2020-09-25 06:22 财盛 阅读(409) 评论(0) 推荐(0)

20200924--图像相似度(奥赛一本通P92 5多维数组)
摘要:给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。 输入:第1行包含两个整数m和n(1<=m<=100,1<=n<=100),表示图像的行数和列数,中 阅读全文

posted @ 2020-09-24 21:00 财盛 阅读(349) 评论(0) 推荐(0)

20200923--计算鞍点(奥赛一本通P91 4)
摘要:给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8) 11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4 7 阅读全文

posted @ 2020-09-24 06:29 财盛 阅读(432) 评论(0) 推荐(0)

20200922--计算矩阵边缘元素之和(奥赛一本通P91 3二维数组)
摘要:输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是就一行和最后一行以及第一列和最后一列的元素。 输入; 第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以一个空格分开。接下业输入的m行数据中,第行包含 n个整数,整数之间以一个空格分开。 输出:对应的矩阵的边缘 阅读全文

posted @ 2020-09-22 21:50 财盛 阅读(594) 评论(0) 推荐(0)

20200921--同行列对角线的格(奥赛一本通P89 2 二维数组)
摘要:输入三个自然数n,i,j(1<=i<=n,1<=j<=n),输出在一个n*n格的棋盘中(行列均从1开始编号),与格子(i,j)同行,同列,同一对角线的所有格子的位置。 如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: 输入样例:n=4 x=2 y=3 输出样例: (2,1) (2 阅读全文

posted @ 2020-09-19 09:02 财盛 阅读(637) 评论(0) 推荐(0)

20200919--矩阵交换行(奥赛一本通P89 1,二维数组)
摘要:给定一个5*5的矩阵(数学上,一个rXc的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果)。 输入:共六行,前五行为矩阵的每一行元素,元素与元素之间以一个空格分开。 第六行包含两个整数m,n(1<=m,n<=5),以一个空格分开。 输出:交换之后的矩阵,矩阵的每一 阅读全文

posted @ 2020-09-19 07:52 财盛 阅读(636) 评论(0) 推荐(0)

20200907--铺地毯(奥赛一本通P87 17)
摘要:为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看作是平面直角坐标系的每一象限)铺上一些矩形地毯,一共有n张地毯,编号从1~n,现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织都想知道覆盖地面某个点的最上面的那张地毯编号 阅读全文

posted @ 2020-09-07 08:05 财盛 阅读(281) 评论(0) 推荐(0)

20200906--整数去重 奥赛一本通(P87 16)
摘要:给定包含有n个整数的序列,要求对这个序列进行去重操作,所谓去重,就是对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。 输入: 包含两行; 第1行包含一个正整数n(1<=n<=20000),表示第2行序列中数字的个数; 第2行包含n个整数,每个整数之间以一个空格分开,每个整数大 阅读全文

posted @ 2020-09-06 15:59 财盛 阅读(214) 评论(0) 推荐(0)

20200904--最长平台(奥赛一本通 P86 15)
摘要:已知一个已经从小到大排序的数组,这个数组的一个平台(plateau)(停止状态)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,3,3,4,4,4,5,6中因为有连续3个3,平台最长。试编写一个程序,接收一个数组,把这个数组最长的平台找出来。 输入:第1行有一个整数n,代表元素 阅读全文

posted @ 2020-09-04 19:08 财盛 阅读(337) 评论(0) 推荐(0)

20200903--直方图(奥赛一本通P85 14)
摘要:给定一个非负整数数组,统计里面每一个数的出现次数,我们只统计到数组里最大的数。 假设Fmax(Fmzx<10000)是数组中最大的数,那么我们只统计{0,1,2,...Fmax)里每个数出现的次数。 输入:第1行n(1<=n<=10000)是数组的大小 紧接着一行是数组的n个元素。 输出:按顺序输出 阅读全文

posted @ 2020-09-03 06:41 财盛 阅读(569) 评论(0) 推荐(0)

20200830--白细胞计算(奥赛一本通P84 13)
摘要:医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果。为了降低分析误差,要先从这n份样本中去除一个数值最大的样本和一个数值最小的样本,然后将剩余n-2个有效样本的平均值作为分析指标,同时,为了观察该抗生素的治疗效果是否稳定,还要给出该平均值的误差,即所有有效样本( 阅读全文

posted @ 2020-08-30 16:57 财盛 阅读(1131) 评论(0) 推荐(0)

20200830--不与最大数相同的数字之和(奥赛一本通 P83 12)
摘要:输出一个整数数列中不与最大数相同的数字之和 输入:分为两行,第一行为n(n为接下来数的个数,n<=100);第2行n个整数,分别以一个空格分开,每个整数的大小在-1000000与1000000之间。 输出:n个数中除去最大数后其余数字之和 样例输入: 3 123 输出: 3 #include <cs 阅读全文

posted @ 2020-08-30 13:19 财盛 阅读(782) 评论(0) 推荐(0)

20200828--最大值和最小值的差(奥赛一本通 P83 11)
摘要:输出一个整数序列中最大的数和最小的数的差。 输入:第1行为m,表示整数个数,整数个数不会大于10000 第2行为m个整数,分别以空格隔开,每个整数的绝对值不会大于10000 输出:m个数中最大值和最小值的差 样例输入: 5 2 5 7 4 2 样例输出: 5 #include <cstdio> // 阅读全文

posted @ 2020-08-28 18:45 财盛 阅读(661) 评论(0) 推荐(0)

20200827--//查找特定的值(奥赛一本通 P81 9) 桶排原理
摘要://在一个序列,也就是数组(下标从1开始)中查找一个给定的值,输出第一次出现的位置,如果找不到,输出-1 第一行包含一个正整数n,表示序列中元素个数。1 ≤n≤ 10000。 第二行包含n个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。元素的绝对值不超过10000。 第三行包含一个整 阅读全文

posted @ 2020-08-27 10:23 财盛 阅读(315) 评论(0) 推荐(0)

20200826开关灯(奥赛一本通 p80 8)
摘要://假设有n盏灯(n为不大于5000的正整数),从1-n按顺序依次编号,初始时全部处于开启状态,0为开,1为关 //有m个人(m为不大于n的正整数)也从1-m依次编号。//第1个人将灯全部关闭,第2个人将编号为2的倍数的灯打开,第3个人将是3倍数的灯做相反处理(也就是将打开的灯关闭,关闭的灯打开)。 阅读全文

posted @ 2020-08-26 21:20 财盛 阅读(460) 评论(0) 推荐(0)

20200820--1维数组 年龄与疾病(奥赛一本通P78 5)
摘要://某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18,19-35,36-60,61c以上(含61)四个年龄段统计的患病人数占总患病人数的比例。 输入:共两行,第1行为以往病人的数目n(0<n<=100),第2行为每个病人患病时的年龄。 输出:按照0-18, 阅读全文

posted @ 2020-08-20 20:02 财盛 阅读(187) 评论(0) 推荐(0)