DNA(画图啦)

2017-11-27 11:08:55来源:CSDN作者:Soul_97人点击

分享

1134: 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

开始没好好看题,以为是重复度就是输出一个图像然后输出多变呢,结果mmp还有些细微变化,不过没有大碍,设置一下条件就好。

大体思路就是根据行数找输出多少空格的规律。

贴代码自行体会:

#include<bits/stdc++.h>using namespace std;int main(){	int t;	cin>>t;	while(t --)	{		int a,b;//a为奇数,是DNA行数,b为重复度		cin>>a>>b;		for(int i=0;i<b;i++)//重复次数 		{			int k=a;			for(int j=-((a-1)/2);j<=(a-1)/2;j++)   //共a行  			{				if(j!=0)				k -=2;				for(int p=1;p<=(a-1)/2-abs(j);p++) //打印空格 				{					printf(" ");				}				if(j == 0)                        //如果是最中间的一行 				{					printf("X/n");				}				else                     //否则 				{					if(j != (a-1)/2 || b==1 || i == b-1)					{						printf("X");						for(int l=abs(k);l>=1;l--)						printf(" ");						printf("X/n");					}				}			}		}		printf("/n");	}	return 0;}


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台