股价排序问题 NOJ 1683
股价排序问题
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 81920 KByte
总提交 : 398 测试通过 : 76
总提交 : 398 测试通过 : 76
题目描述
小郑同学在投资股票时常常遇到排序问题:
给定股价序列,
如果已按从小到
大顺序排好了,则不需要处理,输出“
N/A
”;否则,需要从小到大顺序排序,
输出排序后的股价序列。请你帮他解决这个问题。
小郑同学在投资股票时常常遇到排序问题:给定股价序列,如果已按从小到大顺序排好了,则不需要处理,输出“N/A”;否则,需要从小到大顺序排序,输出排序后的股价序列。请你帮他解决这个问题。
输入
输入包括多个测试用例,首先给出测试用例数N(1≤N≤20),接着给出N个测试用例。每一个测试用例包括一行,每一行包含以空格分隔的多个整数,第一个整数表示股价序列大小M(1≤M≤1000),接着给出M个股价。
输出
输出包括多行,对于每个测试用例输出一行,输出“N/A”,或者以空格分隔的股价序列。
样例输入
3
3 1 2 3
5 5 4 3 2 1
6 6 6 7 8 7 9
样例输出
N/A
1 2 3 4 5
6 6 7 7 8 9
水题就不废话了==
实现代码:
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
int N,M;
int main()
{
scanf("%d",&N);
while(N--)
{
scanf("%d",&M);
int *a=new int[M+2];
for(int i=0;i<M;i++)
{
scanf("%d",&a[i]);
}
int flag=1;
for(int i=0;i<M-1;i++)
{
if(a[i]>a[i+1])
{
flag=0;
break;
}
}
if(flag==1)
{
printf("N/A\n");
}
else
{
sort(a,a+M);
for(int i=0;i<M;i++)
{
if(i==0)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
printf("\n");
}
}
}版权声明:本文为博主原创文章,未经博主允许不得转载。
posted on 2015-04-15 12:06 Tob__yuhong 阅读(82) 评论(0) 收藏 举报
浙公网安备 33010602011771号