UVA 488 - Triangle Wave 水~

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=429

题目大意:

给你振幅A和频率F,让你画出波形。

如:

3
2

波形为:

1
22
333
22
1


1
22
333
22
1

思路:

水。。。直接输出即可。。。。。

要注意的是每两个波形之间有空行。。最后一个没有。

有人问我怎么时间快一点。。。我一开始300+MS,输出字符后就70MS左右的样子。还有一个代码多次提交OJ上显示运行时间会不同。

至于人家怎么0MS过的。我就不知道了。

其实没必要太纠结时间。



#include<cstdio>
const char temp[]={'0','1','2','3','4','5','6','7','8','9'};
void print(int a)
{
	for(int i=1;i<=a;i++)
	{
		for(int j=1;j<=i;j++)
			printf("%c",temp[i]);
		printf("\n");
	}
	for(int i=a-1;i>=1;i--)
	{
		for(int j=1;j<=i;j++)
			printf("%c",temp[i]);
		printf("\n");
	}
}
int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
	{
		int a,f;
		scanf("%d%d",&a,&f);
		for(int i=0;i<f;i++)
		{
			print(a);
			if(i!=f-1)
				printf("\n");
		}
		if(T) 
			printf("\n");
	}
	return 0;
}


你可能感兴趣的:(UVA 488 - Triangle Wave 水~)