第一题:鞍点问题(andian)
【问题描述】
若一个m*n矩阵中的某一项a(i,j)是第i行中的最小值(允许最小值有多个相同),也是第j列中的最大值(允许最大值有多个相同),则称a(i,j)为一个鞍点。编程求出一个矩阵的鞍点。a(m,n)矩阵由文件输入。若无鞍点,则输出“NO”。 输入样例: 2 5
1 2 4 5 2 5 4 6 7 3 输出样例: 3
【数据范围】
1 【问题描述】 已知m*n个学生的身高,任意排成m行n列的方阵。在每一列中选出一个最矮者,然后在所选的n个矮人中挑出最高的人,此人叫做“矮人中的高个子”。而后这n个矮人站回原位去,再在每一行中选出一个最高者,又从这m名高个子中选出最矮的一人,叫做“高人中的矮个子”。 请比较“矮人中的高个子”与“高人中的矮个子”谁高? 输入样例: 5 4 123 109 135 140 134 120 152 144 150 137 142 170 143 152 160 128 161 150 120 121 输出样例: Aigezi 说明:“矮人中的高个子”比“高人中的矮个子”高,则输出“Gaogezi”,否则输出“Aigezi”,如果一样高输出“No”。m、n的值都大于1,小于50,学生身高不超过180。 第三题:副长方形之和最大(fufang) 【问题描述】 给出一个用正负整数排列的数字矩阵,在这个矩阵中包含了许多副长方形,这些副长方形合起来构成这个矩阵。副长方形可以有很多,组成副长方形的数字可以是1×1的矩阵或是整个矩阵。在这些副长方形中总能找出一个最大副长方形(即组成这个副长方形的数的和最大的一个副长方形)。 例如:在下面给出的数字矩阵中 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其左下角的副长方形 9 2 -4 1 -1 8 其副长方形之和15为最大。 输入和输出 先输入整数n(n<10),然后输入一个由整数n×n组成的数字矩阵,矩阵中的数字必须在[-127,127]之间,数字之间用一个空格分隔。 输出副长方形之和为最大的结果。 输入样例: 输出样例: 4 15 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 第二题:子方阵之和最大(nummax) 【问题描述】 在m×n(m,n≤20)的正整数方阵中,找出一个p×q的子方阵(1≤p≤m,1≤q≤n)使其元素之和最大。例如,求下面5×4的方阵中,元素之和最大的一个2×3子方阵。 5×4数字方阵 元素之和最大的2×3子方阵为 3 11 5 10 2 8 1 21 3 7 4 7 6 8 12 22 9 2 9 3 5 21 6 10 3 8 【输入文件】 第一行为m,n,p,q 以下m行,每行n个正整数,所有数据之间都用一个空格隔开,范围都在1-100之间。 【输出文件】 一个正整数,即为符合条件的子方阵元素之和。 【输入样例】 5 4 2 3 3 8 4 22 11 1 7 9 5 21 6 2 10 3 8 9 2 7 12 3 【输出样例】 53 因篇幅问题不能全部显示,请点此查看更多更全内容