链接:/acm/contest/992/H
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
邪恶的红红星球为攻占蓝蓝星球,派出满载氢弹的敢死星际队去轰炸蓝蓝星球。
但是蓝蓝星球的光速炮弹能在发射后的瞬间击毁星际队。
于是,红红星球在星际队的八万里半径内凝聚浓厚的大气缓冲层来减速炮弹,使得星际队能够有着一定的反应时间,利用蛇皮走位躲开光速炮弹的轰击。
本题要求你模拟星际队的行进轨迹,以边长2n+1的矩形为战略地图,从左上角出发以反'S'形蛇皮走位抵达右下角,输出用26个小写字母循环表示。
输入描述:
多组输入(不多于10组),每行一个整数n(0 <= n <= 100)。
输出描述:
对于每组数据,输出一个(2n+1)*(2n+1)的字母矩阵。
示例1
输入
复制
123
输出
复制
abcfedghiabcdejihgfklmnotsrqpuvwxyabcdefgnmlkjihopqrstubazyxwvcdefghiponmlkjqrstuvw
#include <iostream>#include <algorithm>#include <cstdio>#include <math.h>#include <string.h>#include <string>#include <set>#include <list>#include <vector>#include <stack>#include <queue>using namespace std;typedef long long ll;int main(){int n;while(cin>>n){char a[2*n+1][2*n+1];char c='a';bool right = true;for(int i=0;i<2*n+1;i++){if(right){for(int j=0;j<2*n+1;j++){a[i][j] = c++;if(c == 'z' + 1){c = 'a';}}right = false;}else{for(int j=2*n;j>=0;j--){a[i][j] = c++;if(c == 'z' + 1){c = 'a';}}right = true;}}for(int i=0;i<2*n+1;i++){for(int j=0;j<2*n+1;j++){cout<<a[i][j];}cout<<endl;}}return 0;}