【题目描述】
请你编程求出二维数组中某点的相邻数之和。相邻数是指与该点邻接的 88 个元素,若该点在边角位置,则邻接元素相应减少。
下图以 44 行 55 列二维数组 a为例:a[2][3] 元素的值为 77,其邻接元素为 8,9,10,5,8,6,8,08,9,10,5,8,6,8,0 和为 5454 。再比如:a[1][0] 元素的值为 66,则其邻接元素为 1,2,7,3,41,2,7,3,4和为 1717。
1 2 3 4 5 6 7 8 9 10 3 4 5 7 8 2 5 6 8 0
【输入】
第一行输入 44 个整数:h,l,c,r 分别代表二维数组的行列值和指定点的行列下标。
接下来输入 hℎ 行 l 列的 int 型二维数组 a。其中 2≤h,l≤102≤ℎ,l≤10;而
【题目描述】
请你编程求出二维数组中某点的相邻数之和。相邻数是指与该点邻接的 88 个元素,若该点在边角位置,则邻接元素相应减少。
下图以 44 行 55 列二维数组 a� 为例:a[2][3]�[2][3] 元素的值为 77,其邻接元素为 8,9,10,5,8,6,8,08,9,10,5,8,6,8,0 和为 5454 。再比如:a[1][0]�[1][0] 元素的值为 66,则其邻接元素为 1,2,7,3,41,2,7,3,4和为 1717。
1 2 3 4 5 6 7 8 9 10 3 4 5 7 8 2 5 6 8 0
【输入】
第一行输入 44 个整数:hℎ,l,c,r� 分别代表二维数组的行列值和指定点的行列下标。
接下来输入 hℎ 行 l� 列的 int 型二维数组 a�。其中 2≤h,l≤10;而 0≤c,r≤9;注意下标值从 0 开始。
【输出】
a[c][r] 的邻接元素之和。
【输入样例】
4 5 2 3 1 2 3 4 5 6 7 8 9 10 3 4 5 7 8 2 5 6 8 0
【输出样例】
54
注意下标值从 0开始。
【输出】
a[c][r]的邻接元素之和。
【输入样例】
4 5 2 3 1 2 3 4 5 6 7 8 9 10 3 4 5 7 8 2 5 6 8 0
【输出样例】
54
【AC代码】
#include<bits/stdc++.h>
using namespace std;
int main(){
int h,l,c,r;
cin>>h>>l>>c>>r;
c=c+1;
r=r+1;
int a[11][11]={00},i,j,s;
for(i=1;i<=h;i++)
for(j=1;j<=l;j++)
cin>>a[i][j];
s=a[c-1][r]+a[c+1][r]+a[c][r-1]+a[c][r+1]+a[c-1][r-1]+a[c-1][r+1]+a[c+1][r+1]+a[c+1][r-1];
cout<<s;
return 0;
}
标签:10,元素,奥赛,int,练习,3360,数组,二维,邻接
From: https://blog.csdn.net/zym121113/article/details/139481412