标签:
2008“缤纷下沙校园文化活动月”之大学生程序设计竞赛暨新生专场
题目大意:给你N种箭的箭身长度和支数,按长度排序后,按">+---+>"的样子(其中"+--+"
为箭身)输出每支箭,但是每种箭后边多一个空格。
思路:因为长度最多不超过30,所以用桶排序的方法,箭身长度作为下标,个数作为数组值,
这样就不需要额外排序了,然后按要求输出,注意空行。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
int a[33];
int main()
{
int T;
cin >> T;
while(T--)
{
int N;
memset(a,0,sizeof(a));
cin >> N;
for(int i = 1; i <= N; ++i)
{
int A,B;
cin >> A >> B;
a[A] = B;
num ++;
}
for(int k = 3; k <= 30; ++k)
{
if(a[k])
{
for(int i = 1; i <= a[k]; ++i)
{
cout << ">+";
for(int j = 1; j <= k-2; ++j)
cout << '-';
cout << "+>" << endl;
}
cout << endl;
}
}
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/lianai911/article/details/43369897