吉首大学2019年程序设计竞赛(重现赛)H 蛇皮走位

H 蛇皮走位

题目链接:https://ac.nowcoder.com/acm/contest/992/H

题目描述

邪恶的红红星球为攻占蓝蓝星球,派出满载氢弹的敢死星际队去轰炸蓝蓝星球。
但是蓝蓝星球的光速炮弹能在发射后的瞬间击毁星际队。
于是,红红星球在星际队的八万里半径内凝聚浓厚的大气缓冲层来减速炮弹,使得星际队能够有着一定的反应时间,利用蛇皮走位躲开光速炮弹的轰击。
本题要求你模拟星际队的行进轨迹,以边长2n+1的矩形为战略地图,从左上角出发以反'S'形蛇皮走位抵达右下角,输出用26个小写字母循环表示。

输入描述:

多组输入(不多于10组),每行一个整数n(0 <= n <= 100)。

输出描述:

对于每组数据,输出一个(2n+1)*(2n+1)的字母矩阵。
示例1

输入

复制
1
2
3

输出

复制
abc
fed
ghi
abcde
jihgf
klmno
tsrqp
uvwxy
abcdefg
nmlkjih
opqrstu
bazyxwv
cdefghi
ponmlkj
qrstuvw
思路:矩阵输出,注意细节

//
// Created by hanyu on 2019/7/14.
//
#include
using namespace std;
int main()
{
    int n;
    int N;
    while(~scanf("%d",&n)) {
        int res=97;
        int str[205][205];
        N = 2 * n + 1;
           for(int i=1;i<=N;i++)
           {
               if(i%2==1)
               {
                     for(int j=1;j<=N;j++)
                     {
                         str[i][j]=res;
                         res++;
                         if(res==123)
                             res=97;
                     }
               } else
               {
                   for(int j=N;j>=1;j--)
                   {
                       str[i][j]=res;
                       res++;
                       if(res==123)
                           res=97;
                   }
               }
           }
           for(int i=1;i<=N;i++)
           {
               for(int j=1;j<=N;j++)
               {
                   printf("%c",str[i][j]);
               }
               printf("\n");
           }
    }
    return 0;
}

 


转载于:https://www.cnblogs.com/Vampire6/p/11187978.html

你可能感兴趣的:(吉首大学2019年程序设计竞赛(重现赛)H 蛇皮走位)