第五章 数组
芷水无棱
这个作者很懒,什么都没留下…
展开
-
信息学奥赛一本通:1128:图像模糊处理
接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0∼255之间。2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。第一行包含两个整数n和m,表示图像包含像素点的行数和列数。n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。1.四周最外侧的像素点灰度值不变;原创 2024-02-22 09:46:00 · 770 阅读 · 0 评论 -
信息学奥赛一本通:1127:图像旋转
接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0∼255之间。第一行包含两个整数n和m,表示图像包含像素点的行数和列数。m行,每行n个整数,为顺时针旋转90度后的图像。相邻两个整数之间用单个空格隔开。输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。原创 2024-02-22 09:44:39 · 511 阅读 · 0 评论 -
信息学奥赛一本通:1126:矩阵转置
接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。第一行包含两个整数n和m,表示矩阵A的行数和列数(1原创 2024-02-22 09:43:16 · 498 阅读 · 0 评论 -
信息学奥赛一本通:1125:矩阵乘法
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列元素)。然后先后输入A和B两个矩阵,A矩阵n行m列,B矩阵m行k列,矩阵中每个元素的绝对值不会大于1000。第一行为n, m, k,表示A矩阵是n行m列,B矩阵是m行k列,n, m, k均小于100。输出矩阵C,一共n行,每行k个整数,整数之间以一个空格分开。原创 2024-02-21 14:30:02 · 418 阅读 · 0 评论 -
信息学奥赛一本通:1124:矩阵加法
第一行包含两个整数n和m,表示矩阵的行数和列数(1≤n≤100,1≤m≤100)。n行,每行m个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。相邻两个整数之间用单个空格隔开,每个元素均在1∼1000之间。输入两个n行m列的矩阵A和B,输出它们的和A+B。接下来n行,每行m个整数,表示矩阵A的元素。接下来n行,每行m个整数,表示矩阵B的元素。原创 2024-02-21 11:29:41 · 678 阅读 · 0 评论 -
信息学奥赛一本通:1123:图像相似度
给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色。一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。原创 2024-02-20 14:24:26 · 756 阅读 · 0 评论 -
信息学奥赛一本通:1122:计算鞍点
给定一个5×5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"输入包含一个5行5列的矩阵。原创 2024-02-20 10:29:07 · 947 阅读 · 0 评论 -
信息学奥赛一本通:1121:计算矩阵边缘元素之和
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以一个空格分开。接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。输出对应矩阵的边缘元素和。原创 2024-02-19 15:47:19 · 581 阅读 · 0 评论 -
信息学奥赛一本通:1120:同行列对角线的格
输入三个自然数n,i,j(1≤i≤n,1≤j≤n),输出在一个n×n格的棋盘中(行列均从1开始编号),与格子(i,j)同行、同列、同一对角线的所有格子的位置。其中每个格子位置用如下格式输出:(x,y),x为行号,y为列号,采用英文标点,中间无空格。一行,三个自然数n,i,j,相邻两个数之间用单个空格隔开(1≤n≤10)。左上到右下对角线上的格子的位置。如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,第三行:从左上到右下输出同一对角线格子位置;第四行:从左下到右上输出同一对角线格子位置。原创 2024-02-01 17:49:45 · 802 阅读 · 0 评论 -
信息学奥赛一本通:1119:矩阵交换行
给定一个5×5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。第6行包含两个整数m、n,以一个空格分开(1≤m,n≤5)。原创 2024-01-30 18:15:00 · 1275 阅读 · 0 评论 -
信息学奥赛一本通:2045:【例5.13】蛇形填数
在n×n方阵里填入1,2,3,…,n×n,要求填成蛇形。n行,每行各数之间用一个空格隔开。原创 2024-01-29 16:14:01 · 583 阅读 · 0 评论 -
信息学奥赛一本通:2044:【例5.12】回文字串
输入一串字符,字符个数不超过100,且以“判断它们是否构成回文。原创 2024-01-29 16:12:26 · 590 阅读 · 0 评论 -
信息学奥赛一本通:2043:【例5.11】杨辉三角形
例5.11 打印杨辉三角形的前n(2≤n≤20)行。n行,每行各数之间用一个空格隔开。原创 2024-01-29 16:11:38 · 399 阅读 · 0 评论 -
信息学奥赛一本通:2042:【例5.10】稀疏矩阵
n×m矩阵大部分元素是00的矩阵称为稀疏矩阵,假设有k个非0元素,则可把稀疏矩阵用K×3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行、该列下的非元素的值。输出矩阵的简记形式。简记形式有多种形式,输出一种正确形式即可。接下来是一个n×m的矩阵,矩阵中每个正整数小于1000。1 4 5 //第1行第4列有个数是5。2 2 2 //第2行第2列有个数是2。3 2 1 //第3行第2列有个数是1。试编程读入一稀疏矩阵,转换成简记形式,并输出。原创 2024-01-27 12:34:03 · 595 阅读 · 0 评论 -
信息学奥赛一本通:2041:【例5.9】新矩阵
已知一个n×n(2≤n≤20)的矩阵(方阵),把矩阵二条对角线上的元素值加上10,然后输出这个新矩阵。共n行,每行n数,各数之间用一个空格隔开。下面为一个n×n,矩阵中各正整数小于100。原创 2024-01-27 12:32:04 · 402 阅读 · 0 评论 -
信息学奥赛一本通:1118:铺地毯
接下来的n行中,第i+1行表示编号i的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y轴方向的长度。输入输出样例1说明:如下图,1号地毯用实线表示,2号地毯用虚线表示,3号用双实线表示,覆盖点(2,2)的最上面一张地毯是3号地毯。输入输出样例2说明:如下图,1号地毯用实线表示,2号地毯用虚线表示,3号用双实线表示,覆盖点(4,5)的最上面没有一张地毯。第n+2行包含两个正整数x和y,表示所求的地面的点的坐标(x,y)。原创 2024-01-25 09:52:07 · 912 阅读 · 0 评论 -
信息学奥赛一本通:1117:整数去重
给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于10、小于等于5000。第一行包含一个正整数n(1≤n≤20000),表示第二行序列中数字的个数;输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。原创 2024-01-25 09:49:11 · 545 阅读 · 0 评论 -
信息学奥赛一本通:1116:最长平台
试编写一个程序,接收一个数组,把这个数组最长的平台找出来。第一行有一个整数n,为数组元素的个数。第二行有n整数,整数之间以一个空格分开。)就是连续的一串值相同的元素,并且这一串元素不能再延伸。已知一个已经从小到大排序的数组,这个数组的一个平台(输出最长平台的长度。原创 2024-01-25 09:47:13 · 481 阅读 · 0 评论 -
信息学奥赛一本通:1115:直方图
假设 Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2.....Fmax}里每个数出现的次数。对于例子中的数组,最大的数是33,因此我们只统计{0,1,2,3}{0,1,2,3}的出现频数。给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。按顺序输出每个数的出现次数,一行一个数。如果没有出现过,则输出00。第一行n是数组的大小。1≤n≤10000。紧接着一行是数组的n个元素。原创 2024-01-25 09:46:11 · 457 阅读 · 0 评论 -
信息学奥赛一本通:1114:白细胞计数
为了降低分析误差,要先从这n份样本中去除一个数值最大的样本和一个数值最小的样本,然后将剩余n−2个有效样本的平均值作为分析指标。同时,为了观察该抗生素的疗效是否稳定,还要给出该平均值的误差,即所有有效样本(即不包括已扣除的两个样本)与该平均值之差的绝对值的最大值。以下共有n行,每行为一个浮点数,为对应的白细胞数量,其单位为109/。数与数之间以一个空格分开。现在请你编写程序,根据提供的n个样本值,计算出该病例的平均白细胞数量和对应的误差。输入的第一行是一个正整数n(2<n≤300),表明共有n个样本。原创 2024-01-24 11:32:33 · 1023 阅读 · 0 评论 -
信息学奥赛一本通:1113:不与最大数相同的数字之和
第二行N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。第一行为N(N为接下来数的个数,N <= 100);输出一个整数数列中不与最大数相同的数字之和。输出为N个数中除去最大数其余数字之和。原创 2024-01-24 11:31:06 · 472 阅读 · 0 评论 -
信息学奥赛一本通:1112:最大值和最小值的差
【题目描述】输出一个整数序列中最大的数和最小的数的差。【输入】第一行为M,表示整数个数,整数个数不会大于10000;第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000。【输出】输出M个数中最大值和最小值的差。【输入样例】52 5 7 4 2【输出样例】5#include<bits/stdc++.h>using namespace std;int main(){ int n,max=0,min=10000;原创 2024-01-24 11:30:16 · 705 阅读 · 0 评论 -
信息学奥赛一本通:1111:不高兴的津津
妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。如果会的话,哪天最不高兴。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1, 2, 3, 4, 5, 6, 7分别表示周一,周二,周三,周四,周五,周六,周日)。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。原创 2024-01-24 11:29:31 · 609 阅读 · 0 评论 -
信息学奥赛一本通:1110:查找特定的值
第二行包含n个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。元素的绝对值不超过10000。第一行包含一个正整数n,表示序列中元素个数。第三行包含一个整数x,为需要查找的特定值。x的绝对值不超过10000。在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置。若序列中存在x,输出x第一次出现的下标;原创 2024-01-24 11:28:41 · 487 阅读 · 0 评论 -
信息学奥赛一本通:1109:开关灯
第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。顺次输出关闭的灯的编号,其间用逗号间隔。原创 2024-01-22 09:58:30 · 660 阅读 · 0 评论 -
信息学奥赛一本通:1108:向量点积计算
在线性代数、计算几何中,向量点积是一种十分重要的运算。给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a⋅b=a1b1+a2b2+...+anbn。相邻整数之间用单个空格隔开。每个整数的绝对值都不超过1000。第二行包含n个整数a1,a2,...,an;第三行包含n个整数b1,b2,...,bn;第一行是一个整数n(1≤n≤1000);一个整数,即两个向量的点积结果。原创 2024-01-22 09:57:39 · 761 阅读 · 0 评论 -
信息学奥赛一本通:1107:校门外的树
已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。第一行有两个整数L(1 ≤ L ≤ 10000)和 M(1 ≤ M ≤ 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……原创 2024-01-22 09:55:51 · 642 阅读 · 0 评论 -
信息学奥赛一本通:1106:年龄与疾病
某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。按照0-18、19-35、36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位。每个年龄段占一行,共四行。共2行,第一行为过往病人的数目n(0<n<=100),第二行为每个病人患病时的年龄。原创 2024-01-22 09:54:52 · 1019 阅读 · 0 评论 -
信息学奥赛一本通:1105:数组逆序重存放
两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。一行:输出逆序后数组的整数,每两个整数之间用空格分隔。将一个数组中的值按逆序重新存放。原创 2024-01-22 09:54:05 · 443 阅读 · 0 评论 -
信息学奥赛一本通:1104:计算书费
输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。输出一行,包含一个浮点数f,表示应付的总费用。数据结构与算法 32.7元/本。C++程序设计教程 78元/本。JAVA程序设计 65元/本。计算概论 28.9元/本。编译原理 27.8元/本。人工智能 35 元/本。计算机网络 56元/本。原创 2024-01-18 14:19:32 · 612 阅读 · 0 评论 -
信息学奥赛一本通:1103:陶陶摘苹果
第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。原创 2024-01-18 14:15:53 · 489 阅读 · 0 评论 -
信息学奥赛一本通:1102:与指定数字相同的数的个数
第一行为n,表示整数序列的长度(n≤100);输出一个整数序列中与指定数字相同的数的个数。第二行为n个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的数字m。输出为n个数中与m相同的数的个数。原创 2024-01-17 09:11:17 · 505 阅读 · 0 评论 -
信息学奥赛一本通:2040:【例5.7】筛选法找质数
用筛法求出n(2≤n≤1000)以内的全部质数。多行,由小到大的质数。原创 2024-01-17 09:10:11 · 539 阅读 · 0 评论 -
信息学奥赛一本通:2039:【例5.6】冒泡排序
编程输入n(1≤n≤20)个小于1000非负整数,然后自动按从大到小的顺序输出。由大到小的n个非负整数,每个数占一行。第二行,n个非负整数。第一行,数的个数n;原创 2024-01-17 09:05:48 · 433 阅读 · 0 评论 -
信息学奥赛一本通:1101:2038:【例5.5】最大数位置
输入n个整数,存放在数组a[1]]至a[n]中,输出最大数所在位置(n≤1000)。第二行,n个正整数,每个数在。第一行,数的个数n;原创 2024-01-16 11:27:51 · 546 阅读 · 0 评论 -
信息学奥赛一本通:1101:2037:【例5.4】约瑟夫问题
N个人围成一圈,从第一个人开始报数,数到M的人出圈;再由下一个人开始报数,数到M的人出圈;输出依次出圈的人的编号。对于所有数据,2≤N,M≤1000。输出一行,依次出圈的人的编号。原创 2024-01-16 11:25:53 · 482 阅读 · 0 评论 -
信息学奥赛一本通:1101:2036:【例5.3】开关门
宾馆里有n(2≤n≤1000)个房间,从1∼n编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员把所有编号是3的倍数的房间作“相反处理”…,以后每个服务员都是如此。当第n个服务员来过后,哪几扇门是打开的。(所谓“相反处理”是:原来开着的门关上,原来关上的门打开。一行,由小到大的打开门的房间序号,各序号之间用一个空格隔开。原创 2024-01-16 11:24:14 · 341 阅读 · 0 评论 -
信息学奥赛一本通:1101:2035:【例5.2】平移数据
将a数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置。平移后的数组元素,每个数用一个空格隔开。第二行为n个小于1000的正整数。第一行为数组a的元素个数;原创 2024-01-16 11:22:46 · 413 阅读 · 0 评论 -
信息学奥赛一本通:1101:2034:【例5.1】反序输出
输入n个数,要求程序按输入时的逆序把这n个数打印出来,已知整数不超过100个。也就是说,按输入相反顺序打印这n个数。如题要求:一行,共有n个数,每个数之间用一个空格隔开。输入一行共有n个数,每个数之间用空格隔开。原创 2024-01-16 11:21:08 · 532 阅读 · 0 评论