• 九度oj 题目1190:大整数排序


    题目1190:大整数排序

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:4142

    解决:1867

    题目描述:

    对N个长度最长可达到1000的数进行排序。

    输入:

    输入第一行为一个整数N,(1<=N<=100)。
    接下来的N行每行有一个数,数的长度范围为1<=len<=1000。
    每个数都是一个正数,并且保证不包含前缀零。

    输出:

    可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。

    样例输入:
    3
    11111111111111111111111111111
    2222222222222222222222222222222222
    33333333
    样例输出:
    33333333
    11111111111111111111111111111
    2222222222222222222222222222222222
    分析:将每个大整数看成字符串,如果长度不同,则按长度从小到大排序,否则按字典序排序。(直接按字典序排序不行,如例子,
    回先输出1开头的。)
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <string>
     4 #include <vector>
     5 using namespace std;
     6 bool cmp(string a, string b){
     7     int len_a = a.length();
     8     int len_b = b.length();
     9     if(len_a != len_b)
    10         return len_a < len_b;
    11     else
    12         return a < b;
    13 }
    14 
    15 int main(){
    16     int n;
    17     string s;
    18     vector<string> v;
    19     while(cin >> n){
    20         v.clear();
    21         for(int i = 0; i < n; i++){
    22             cin >> s;
    23             v.push_back(s);
    24         }
    25         sort(v.begin(), v.end(), cmp);
    26         for(int i = 0; i < n; i++){
    27             cout << v[i] << endl;
    28         }
    29     }
    30     //system("pause");
    31     return 0;
    32 }


  • 相关阅读:
    递归
    linq语法
    客户端(winform)更新
    c# 实时监控数据库 SqlDependency
    C# MVC NPOI导出
    mui手机图片压缩上传+C#
    vs连接Oracle 客户端库时引发 BadImageFormatException
    一对多的子表数据利用游标循环更新主表的数据
    数据库的恢复数据语句
    mysql三-2:数据类型
  • 原文地址:https://www.cnblogs.com/qinduanyinghua/p/6496791.html
Copyright © 2020-2023  润新知