时间:0.2s 空间:64M
【题目描述】
给定 N 个正整数,请将它们按照从小到大升序排列并输出。
【输入描述】
第一行是一个数字 N,代表共有 N 个数字。
接下来的 N 行每行包含一个正整数a[i]。(1≤N≤5000,1≤a[i]≤10^500)
【输出描述】
输出 N 行,为输入数据从小到大升序排序后的结果。
【样例输入】
3 2 3 1
【样例输出】
1 2 3
给定 N 个正整数,请将它们按照从小到大升序排列并输出。
第一行是一个数字 N,代表共有 N 个数字。
接下来的 N 行每行包含一个正整数a[i]。(1≤N≤5000,1≤a[i]≤10^500)
输出 N 行,为输入数据从小到大升序排序后的结果。
3 2 3 1
1 2 3
这东西你 n 方排序都能过吧。
《0.2s》=《200ms》
那这怎么解决:
(1≤N≤5000,1≤a[i]≤10^500)
随你怎么解决啊,模拟冒泡排序,选择排序,插入排序,堆排序,实在不会你 sort 啊
#include <bits/stdc++.h>
using namespace std;
int a[5010];
int n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
cout<<a[i];
}
return 0;
}
这个就可以了
这题的题目号告诉我一下
stO 大佬太强了,输出都不加空格/cf
woc打快了
cout<<a[i]改成cout<<a[i]<<" ";
高精度排序???
草这题用 string 排。
int不行吧,long long都不行
thanks
额,那就只能用string了
其实这道题也可以实现O(nlogn)
用sort+cmp