游客 Signup | Login
中文 | En

3553 - 矩阵统计

输入5×5阶的矩阵,编程实现:

1)求两条对角线上的各元素之和。

2)求两条对角线上行、列下标均为偶数的各元素之积。

Input

输入一个n (n<15)

接下来输入n行n列 一个矩阵

Output

输出结果1和结果2,空格分隔。

Examples

Input

3
1 1 1
1 1 1
1 1 1

Output

5 1

Solution C

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#define ARR_SIZE 20
int main()
{
 //  freopen("in","r",stdin);
  //  freopen("out","w",stdout);
    int 	a[ARR_SIZE][ARR_SIZE], i, j, n, sum = 0;
	long  	product = 1;


	while(scanf("%d", &n)!=EOF){
            sum = 0;product = 1;
	for (i=0; i<n; i++)
	{
    		for (j=0; j<n; j++)
        	{
  				scanf("%d",&a[i][j]);
        	}
	}

	for (i=0; i<n; i++)
	{
		for (j=0; j<n; j++)
        	{
				if (i == j || i+j == n-1)
					sum += a[i][j];
				if ((i == j || i+j == n-1) && i%2 == 0 && j%2 == 0)
					product *= a[i][j];
		}
    }

    printf("%d %ld\n", sum, product);



}
  return 0;
}

Solution C++

#include<cstdio>
using namespace std;
int main()
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		int arr[15][15];
		int i, j;
		int sum = 0;
		int pro = 1;
		for (i = 0; i < n; i++)
		{
			for (j = 0; j < n; j++)
			{
				scanf("%d", &arr[i][j]);
				if (i + j == n - 1||i==j)
				{
					sum += arr[i][j];
					if (i % 2 == 0 && j % 2 == 0)
						pro *= arr[i][j];
				}
			}
		}
		printf("%d %d\n", sum, pro);
	}
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题