游客 Signup | Login
中文 | En

3559 - 模拟2

现有一个n*n(n最大为10)的整数矩阵,n的值通过键盘输入确定,设计一个程序输入矩阵中的各元素值,计算矩阵中两条对角线上所有元素的和并输出。

Input

输入有多组样例。

首先输入一个n,

然后输入一个n*n的矩阵。

Output

输出和。

提示:当n为奇数时两条对角线存在一个交叉元素,在计算时需避免交叉元素的重复计算。

Examples

Input

2
1 2
3 4
3
1 2 3
1 2 3
1 2 3

Output

10
10

Solution C

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int main()
{
  //  freopen("in","r",stdin);
 //   freopen("out","w",stdout);


    int a[10][10],t,i,j,n;
    while(scanf("%d",&n)!=EOF)
    {
        t=0;

for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   {
        scanf("%d",&a[i][j]);
   }

for(i=0;i<n;i++)
  t=t+a[i][i]+a[i][n-1-i];
if((n%2)!=0)
  t=t-a[(n-1)/2][(n-1)/2];
printf("%d\n",t);



    }
  return 0;
}

Solution C++

#include <stdio.h>
int main()
{
    int a[11][11];
	int i,j,n,sum;
	while(scanf("%d",&n)!=EOF)
	{
	    sum=0;
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
			{
			    scanf("%d",&a[i][j]);
				if(i==j||i+j==n-1)
					sum=sum+a[i][j];
			}
			printf("%d\n",sum);
	}
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题