欢迎关注本专栏《C++从零基础到信奥赛入门级(CSP-J)》
问题:1272. 郭远摘苹果
类型:二维数组
题目描述:
郭远有一天走到了一片苹果林,里面每颗树上都结有不同数目的苹果,郭远身上只能拿同一棵树上的苹果,他每到一棵果树前都会把自己身上的苹果扔掉并摘下他所在树上的苹果并带走(假设郭远会走过每一棵苹果树),问在郭远摘苹果的整个过程中,他身上携带的最多苹果数与最小苹果数的差是多少?
输入:
第 1 行读入 n,m(即苹果林中有果树的行数和列数,0<n,m≤10);
接下来 n 行,每行读入 m 个整数(即每颗树上的苹果数);
输出:
1 个数字(郭远摘苹果的整个过程中,他身上携带的最多苹果数与最小苹果数的差)
样例:
输入:
cpp
4 3
2 6 5
1 3 7
5 3 5
1 7 12
输出:
cpp
11
完整代码如下:
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
//一、分析问题
//已知:苹果林的行列数n,m;以及每棵树的苹果数量
//未知:他身上携带的最多苹果数与最小苹果数的差是多少?
//关系:打擂台
//二、定义变量
int n,m,a[11][11],mmax=INT_MIN,mmin=INT_MAX;
//三、输入
cin>>n>>m;
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
cin>>a[i][j];
//四、计算
if(a[i][j]>mmax) mmax=a[i][j];
if(a[i][j]<mmin) mmin=a[i][j];
}
}
//五、输出
cout<<mmax-mmin;
return 0;
}