民大OJ 1668 追杀系列第二发

追杀系列第二发

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 57            测试通过 : 16

描述

小萌神向JX求助失败。继续逃跑,路上碰到XYZ。向XYZ求助。XYZ说如果能帮她写出一个大XYZ就帮他。

输入

 

多组输入
每次输入一个n

输出

为了对称美观 输出2*n+1(0<=n<=20)行 x和y中间有三个空格 y和z中间有三个空格 详情见样例 每组样例后多输出一个空行

样例输入

2
3

样例输出

X   X   Y   Y   Z Z Z
 X X     Y Y       Z 
  X       Y       Z  
 X X      Y      Z   
X   X     Y     Z Z Z

X     X   Y     Y   Z Z Z Z
 X   X     Y   Y         Z 
  X X       Y Y         Z  
   X         Y         Z   
  X X        Y        Z    
 X   X       Y       Z     
X     X      Y      Z Z Z Z

题目来源

SWUN_Ceous

#include<math.h>
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int a,b,c;int n;
	while(~scanf("%d",&n))
	{
		for(int i=1;i<=2*n+1;i++)
		{
			for(int j=1;j<=2*n+1;j++)
			{
				if(j==i||j==2*n+1-i+1)
					printf("%c",'X');
				else
					printf("%c",' ');
			}
			printf("   ");
			for(int j=1;j<=2*n+1;j++)
			{
				if(i<=n+1){
				if(j==i||j==2*n+1-i+1)
					printf("%c",'Y');
				else
					printf("%c",' ');
				}
				else{
				if(j==n+1)
					printf("%c",'Y');
				else
					printf("%c",' ');
				}
			}
			printf("   ");
			for(int j=1;j<=2*n+1;j++)
			{
				if(i==1||i==2*n+1){
				if(j%2)
					printf("%c",'Z');
				else
					printf("%c",' ');
				}
				else{
				if(j==2*n+1-i+1)
					printf("%c",'Z');
				else
					printf("%c",' ');
				}
			}
			printf("
");
		}
		printf("
");
	}
    return 0;

}

//freopen("1.txt", "r", stdin);
    //freopen("2.txt", "w", stdout);
//**************************************




版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/wmxl/p/4662690.html