zoukankan      html  css  js  c++  java
  • 02:同行列对角线的格子

    02:同行列对角线的格子

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

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

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

    第一列

    第二列

    第三列

    第四列

     
           

    第一行

       

    (2,3)

     

    第二行

           

    第三行

           

    第四行

        

    当n=4,i=2,j=3时,输出的结果是:

    (2,1) (2,2) (2,3) (2,4)                        同一行上格子的位置

    (1,3) (2,3) (3,3) (4,3)                        同一列上格子的位置

    (1,2) (2,3) (3,4)                              左上到右下对角线上的格子的位置

    (4,1) (3,2) (2,3) (1,4)                        左下到右上对角线上的格子的位置

    输入
    一行,三个自然数N,i,j,相邻两个数之间用单个空格隔开。1 <= N <= 10。
    输出
    四行:
    第一行:从左到右输出同一行格子位置;
    第二行:从上到下输出同一列格子位置;
    第三行:从左上到右下输出同一对角线格子位置;
    第四行:从左下到右上输出同一对角线格子位置。

    其中每个格子位置用如下格式输出:(x,y),x为行号,y为列号,采用英文标点,中间无空格。
    相邻两个格子位置之间用单个空格隔开。
    样例输入
    4 2 3
    样例输出
    (2,1) (2,2) (2,3) (2,4)
    (1,3) (2,3) (3,3) (4,3)
    (1,2) (2,3) (3,4)
    (4,1) (3,2) (2,3) (1,4)
    来源
    NOIP1996复赛 普及组 第二题
     1 #include<iostream>
     2 #include<cstring>
     3 #include<cstdio>
     4 #include<algorithm>
     5 using namespace std;
     6 int a[10001][10001];
     7 int b[10001][10001];
     8 int ans[10001][10001];
     9 int now;
    10 int tot;
    11 int main()
    12 {
    13     int n,x,y;
    14     cin>>n>>x>>y;
    15     for(int i=1;i<=n;i++)
    16     {
    17         for(int j=1;j<=n;j++)
    18         {
    19             if(i==x)
    20             cout<<"("<<i<<","<<j<<")"<<" ";
    21         }
    22     }
    23     cout<<endl;
    24     for(int i=1;i<=n;i++)
    25     {
    26         for(int j=1;j<=n;j++)
    27         {
    28             if(j==y)
    29             cout<<"("<<i<<","<<j<<")"<<" ";
    30         }
    31     }
    32     cout<<endl;
    33     for(int i=1;i<=n;i++)
    34     {
    35         for(int j=1;j<=n;j++)
    36         {
    37             if((j-i)==(y-x))
    38             cout<<"("<<i<<","<<j<<")"<<" ";
    39         }
    40     }
    41     cout<<endl;
    42     for(int i=n;i>=1;i--)
    43     {
    44         for(int j=n;j>=1;j--)
    45         {
    46             if((i+j)==(y+x))
    47             cout<<"("<<i<<","<<j<<")"<<" ";
    48         }
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    Scoket简介
    AOP
    Windows服务
    Nginx 教程 (1):基本概念
    异步编程
    并发编程
    常用排序
    序列化
    MSBuild/Projectjson
    不汇报是职场发展的绊脚石
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6486508.html
Copyright © 2011-2022 走看看