zoukankan      html  css  js  c++  java
  • 华科机考:大整数排序

    时间限制:1秒  空间限制:32768K

    题目描述

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

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

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

    输入例子: 3

                 11111111111111111111111111111

                 2222222222222222222222222222222222

                 33333333

    输出例子: 33333333

                 11111111111111111111111111111

                 2222222222222222222222222222222222

    思路:写个cmp就行了,先按照长度来比较,如果一样的话再按照字典序来排

    代码:

    #include <algorithm>
    #include <iostream>
    #include <vector>
    using namespace std;
    
    int cmp(string str1,string str2){
       if(str1.size()!=str2.size())
          return str1.size()<str2.size();
       else
          return str1<str2;
    
    }
    int main(){
       int n,tmp;
       string str;
       vector<string> a;
       while(cin>>n){
       tmp=n;
       while(tmp--){
       cin>>str;
       a.push_back(str);
       }
       sort(a.begin(),a.end(),cmp);
       for(int i=0;i<n;i++)
        cout<<a[i]<<endl;
       a.clear();
       }
       return 0;
    }
  • 相关阅读:
    LOJ6274 数字
    test20200415 看门人 和 WC2010 重建计划
    TJOI2018 Party 和 HDU4352 XHXJ's LIS
    LOJ3228 Tree Depth
    AGC026D Histogram Coloring
    LOJ3277 星座 和 BZOJ2616 PERIODNI
    LOJ2331 某位歌姬的故事 和 CF1327F AND Segments
    AGC024F Simple Subsequence Problem
    LOJ3278 收获
    LOJ3282 治疗计划
  • 原文地址:https://www.cnblogs.com/mlgjb/p/6719847.html
Copyright © 2011-2022 走看看