zoukankan      html  css  js  c++  java
  • AtCoder Beginner Contest 088 C Takahashi's Information

    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
    1 0 1
    2 1 2
    1 0 1
    
    Sample Output 1
    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
    2 2 2
    2 1 2
    2 2 2
    
    Sample Output 2
    No
    

    Takahashi is incorrect in this case.

    Sample Input 3
    0 8 8
    0 8 8
    0 8 8
    
    Sample Output 3
    Yes
    
    Sample Input 4
    1 8 6
    2 9 7
    0 7 7
    
    Sample Output 4
    No
    
    枚举。
    代码:
    #include <bits/stdc++.h>
    using namespace std;
    int s[3][3];
    int check()
    {
        if(s[0][1] - s[0][0] != s[1][1] - s[1][0] || s[0][1] - s[0][0] != s[2][1] - s[2][0])return 0;
        if(s[0][2] - s[0][0] != s[1][2] - s[1][0] || s[0][2] - s[0][0] != s[2][2] - s[2][0])return 0;
        if(s[0][1] - s[0][2] != s[1][1] - s[1][2] || s[0][1] - s[0][2] != s[2][1] - s[2][2])return 0;
        if(s[0][0] - s[1][0] != s[0][1] - s[1][1] || s[0][0] - s[1][0] != s[0][2] - s[1][2])return 0;
        if(s[0][0] - s[2][0] != s[0][1] - s[2][1] || s[0][0] - s[2][0] != s[0][2] - s[2][2])return 0;
        if(s[2][0] - s[1][0] != s[2][1] - s[1][1] || s[2][0] - s[1][0] != s[2][2] - s[1][2])return 0;
        return 1;
    }
    int main()
    {
        for(int i = 0;i < 3;i ++)
        {
            for(int j = 0;j < 3;j ++)
            {
                cin>>s[i][j];
            }
        }
        if(check())cout<<"Yes";
        else cout<<"No";
    }
  • 相关阅读:
    定义一个动态的二维数组?
    学习STL map, STL set之数据结构基础
    CMM
    详细解说STL string
    仔细选择你的容器
    C++字符串类string简析
    流氓软件及反流氓软件的技术分析
    标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
    C++资料下载
    unix系统操作命令大全
  • 原文地址:https://www.cnblogs.com/8023spz/p/8551938.html
Copyright © 2011-2022 走看看