zoukankan      html  css  js  c++  java
  • 洛谷 P2615 神奇的幻方 题解

    每日一题系列day1 打卡

    Analysis

    水货模拟,不多说了

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #define maxn 39+10
     6 using namespace std;
     7 inline int read()
     8 {
     9     int x=0;
    10     bool f=1;
    11     char c=getchar();
    12     for(; !isdigit(c); c=getchar()) if(c=='-') f=0;
    13     for(; isdigit(c); c=getchar()) x=(x<<3)+(x<<1)+c-'0';
    14     if(f) return x;
    15     return 0-x;
    16 }
    17 inline void write(int x)
    18 {
    19     if(x<0){putchar('-');x=-x;}
    20     if(x>9)write(x/10);
    21     putchar(x%10+'0');
    22 }
    23 int n,bi,bj;
    24 int map[maxn][maxn];
    25 int main()
    26 {
    27     n=read();
    28     map[1][n/2+1]=1;
    29     bi=1;
    30     bj=n/2+1;
    31     for(int i=2;i<=n*n;i++)
    32     {
    33         if(bi==1&&bj!=n)
    34         {
    35             bi=n;
    36             bj+=1;
    37             map[bi][bj]=i;
    38         }
    39         else if(bi!=1&&bj==n)
    40         {
    41             bi-=1;
    42             bj=1;
    43             map[bi][bj]=i;
    44         }
    45         else if(bi==1&&bj==n)
    46         {
    47             bi+=1;
    48             map[bi][bj]=i;
    49         }
    50         else if(bi!=1&&bj!=n)
    51         {
    52             if(map[bi-1][bj+1]==0)
    53             {
    54                 bi-=1;
    55                 bj+=1;
    56                 map[bi][bj]=i;
    57             }
    58             else 
    59             {
    60                 bi+=1;
    61                 map[bi][bj]=i;
    62             }
    63         }
    64     }
    65     for(int i=1;i<=n;i++)
    66     {
    67         for(int j=1;j<=n;j++)
    68         {
    69             write(map[i][j]);
    70             printf(" ");
    71         }
    72         printf("
    ");
    73     }
    74     return 0;
    75 }

    请各位大佬斧正(反正我不认识斧正是什么意思)

  • 相关阅读:
    浏览器默认样式
    display
    JS中的!=、== 、!==、===的用法和区别。
    getElementsByName
    让DIV的滚动条自动滚动到最底部
    uoj118 【UR #8】赴京赶考
    [MtOI2019]幽灵乐团
    uoj213 【UNR #1】争夺圣杯
    loj6198 谢特
    [CTSC2017]密钥
  • 原文地址:https://www.cnblogs.com/handsome-zyc/p/11296590.html
Copyright © 2011-2022 走看看