zoukankan      html  css  js  c++  java
  • 20200921--同行列对角线的格(奥赛一本通P89 2 二维数组)

    输入三个自然数n,i,j(1<=i<=n,1<=j<=n),输出在一个n*n格的棋盘中(行列均从1开始编号),与格子(i,j)同行,同列,同一对角线的所有格子的位置。

    如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图:

    输入样例:n=4 x=2 y=3

    输出样例: 

    (2,1)  (2,2)  (2,3)  (2,4)

    (1,3)  (2,3)  (3,3)  (4,4)

    (4,1)  (2,3)  (3,2)  (1,4)

    (1,2)  (2,3)  (3,3)

    思路:先输出同行的格式位置,再输出同列格式位置;对角线(右上到左下)的规律是横+竖之和相等,如4+1=2+3=3+2=1+4,左上到右下则是横-竖相等。

    #include <bits/stdc++.h>

    using namespace std;

    int n,x,y;//n 代表棋盘大小,x和y分别代表横向格子位置和竖向格子位置

    int main()

    {

      cout<<"请输入棋盘的格数n,横竖都为n"<<endl; 

      cin>>n;

      cout<<"请输入初始的x和y值,如(2,3)代表第二行第三列"<<endl; 

      cin>>x>>y;

      for(int i=1;i<=n;i++)

        {
          cout<<"("<<x<<","<<i<<")";

        }

      cout<<endl;

      for(int j=1;j<=n;j++)
        {
          cout<<"("<<j<<","<<y<<")";

        }

      cout<<endl;

       for(int j=1;j<=n;j++)
        { for(int i=1;i<=n;i++)

           {if(i+j==x+y)

             {  cout<<"("<<i<<","<<j<<")"; }

           }

        }

      cout<<endl;

      return 0;

    }

  • 相关阅读:
    Leetcode:50. Pow(x, n)
    loj 2759「JOI 2014 Final」飞天鼠
    bzoj 3569 DZY Loves Chinese II
    CF407D Largest Submatrix 3
    bzoj 3837 pa2013 Filary
    bzoj 4722 由乃
    CF1105E Helping Hiasat
    loj 6043「雅礼集训 2017 Day7」蛐蛐国的修墙方案
    luogu P2605 [ZJOI2010]基站选址
    luogu P3226 [HNOI2012]集合选数
  • 原文地址:https://www.cnblogs.com/whcsrj/p/13694652.html
Copyright © 2011-2022 走看看