1876 - DNA

小强从小就喜欢生命科学,他总是好奇花草鸟兽从哪里来的。终于, 小强上中学了,接触到了神圣的名词--DNA.它有一个双螺旋的结构。这让一根筋的小强抓破头皮,“要是能画出来就好了” 小强喊道。现在就请你帮助他吧

题目输入

输入包含多组测试数据。第一个整数N(N<=15),N表示组数,每组数据包含两个整数a,b。a表示一个单位的DNA串的行数,a为奇数且 3<=a<=39。b表示重复度(1<=b<=20)。

题目输出

输出DNA的形状,每组输出间有一空行。

输入/输出样例

题目输入

2
3 1
5 4

题目输出

X X
 X
X X

X   X
 X X
  X
 X X
X   X
 X X
  X
 X X
X   X
 X X
  X
 X X
X   X
 X X
  X
 X X
X   X

C++解答

#include<iostream>
using namespace std;
int main()
{
	int n,a,b;
	cin>>n;
	for (int k=1; k<=n; k++)
	{
		cin>>a>>b;
		if (a==1)	//a==1
			for (int i=1; i<=b; i++) cout<<"X"<<endl;
		else
		{
			cout<<"X";
			for (int i=2; i<=a-1; i++) cout<<" ";
			cout<<"X"<<endl;	//X的第一行
			for (int t=1; t<=b; t++)	//重复b次
			{
				for (int i=2; i<=a/2; i++)	//上半部分
				{
					for (int j=1; j<=a; j++)
						if (i==j || i+j==a+1) cout<<"X";
						else if (i+j<=a) cout<<" ";
					cout<<endl;
				}
				for (int i=a/2+1; i<=a; i++)//下半部分
				{
					for (int j=1; j<=a; j++)//输出前面
						if (i==j || i+j==a+1) cout<<"X";
						else if (i>j) cout<<" ";
					cout<<endl;
				}
			}
		}
		if (k<n) cout<<endl;
	}
	return 0;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题