2018.3.4【 AtCoder - 3867 】解题报告(矩阵知识,数学)

C - Takahashi's Information


Time limit : 2sec / Memory limit : 256MB

Score: 300 points

Problem Statement

We have a 3×3 grid. A number ci,j is written in the square (i,j), where (i,j) denotes the square at the i-th row from the top and the j-th column from the left.
According to Takahashi, there are six integers a1,a2,a3,b1,b2,b3 whose values are fixed, and the number written in the square (i,j) is equal to ai+bj.
Determine if he is correct.

Constraints

  • ci,j (1i3,1j3) is an integer between 0 and 100 (inclusive).

Input

Input is given from Standard Input in the following format:

c1,1 c1,2 c1,3
c2,1 c2,2 c2,3
c3,1 c3,2 c3,3

Output

If Takahashi's statement is correct, print Yes; otherwise, print No.


Sample Input 1

Copy
1 0 1
2 1 2
1 0 1

Sample Output 1

Copy
Yes

Takahashi is correct, since there are possible sets of integers such as: a1=0,a2=1,a3=0,b1=1,b2=0,b3=1.


Sample Input 2

Copy
2 2 2
2 1 2
2 2 2

Sample Output 2

Copy
No

Takahashi is incorrect in this case.


Sample Input 3

Copy
0 8 8
0 8 8
0 8 8

Sample Output 3

Copy
Yes

Sample Input 4

Copy
1 8 6
2 9 7
0 7 7

Sample Output 4

Copy
No

【题目大意】

给一个3*3的矩阵,要求该矩阵元素可以表示成 ci,j=ai+bj,即9个元素是由a1,a2,a3,b1,b2,b3,交叉相加得到的。

【解题思路】

由于不用找出 a1,a2,a3,b1,b2,b3,判断存在即可。三斜线和相等即可。

【解题代码】

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int mmap[3][3];

int main()
{
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<3;j++)
			scanf("%d",&mmap[i][j]);
	}
	int sum1,sum2,sum3,sum4;
	sum1=mmap[0][0]+mmap[1][1]+mmap[2][2];
//	sum2=mmap[2][0]+mmap[1][1]+mmap[0][2];
	sum2=mmap[0][1]+mmap[1][2]+mmap[2][0];
	sum3=mmap[1][0]+mmap[2][1]+mmap[0][2];
	if(sum1==sum2&&sum2==sum3)
		printf("Yes\n");
	else printf("No\n");
}

【收获与反思】



你可能感兴趣的:(AtCoder,Math)