zoukankan      html  css  js  c++  java
  • ECNU 3530 和你在一起

    ECNU 3530 和你在一起

    链接

    https://acm.ecnu.edu.cn/problem/3530

    题目

    单点时限: 1.0 sec

    内存限制: 256 MB

    我想和你在一起
    直到我不爱你
    宝贝 人和人 一场游戏
    我愿意为你死去
    如果我还爱你
    宝贝 反正活着 也没意义
    宝贝 我也只能 这样为你
    ——李志《和你在一起》

    现场4分10秒,小哥跟着逼哥嘶吼,泪流满面。我要和你在一起,直到我不爱你。有这么 个数字,联成一排拼到一起便是我爱你的时间,那么我们会在一起多久呢

    例如: n=3 时,3 个整数 13,312,343 联接成的最长时间为: 34331213。
    又如: n=4 时,4 个整数 7,13,4,246 联接成的最长时间为: 7424613。

    输入格式
    n(1-20),表示n个数。

    接下来一行 . 个正整数,大小不超过 10^4。

    输出格式
    拼成的最长时间。

    样例
    input
    3
    623 583 413
    output
    623583413

    思路

    看题泪目(并没有)
    这主要就是一个排序方法,拿123和456为例子,123456<456123,所以要长的话,那就要456在前面,这就是一类比较,如果加上了789,那就可以知道789应该在最前,为789456123即可。即为a+b < b+a。
    这里还是用了java,不过采用了ArrayList,用比较器排序,用迭代器输出即可。

    代码

      public static void fun() {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        ArrayList<String> list = new ArrayList<>(n);
    
        for (int i = 0; i < n; i++) {
          String temp = sc.next();
          list.add(temp);
        }
        list.sort(new Comparator<String>() {
          @Override
          public int compare(String o1, String o2) {
    
            String str1 = o1 + o2;
            String str2 = o2 + o1;
    
            return Integer.valueOf(str2) - Integer.valueOf(str1);
          }
        });
    
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
          System.out.print(it.next());
        }
    
      }
    
  • 相关阅读:
    项目中的注意事项
    复合查询
    树型控件的处理(完整版)
    图的存储结构(邻接矩阵)
    图的定义与术语2 数据结构和算法55
    图的存储结构(邻接矩阵)
    赫夫曼编码 数据结构和算法52
    赫夫曼编码 数据结构和算法52
    图的存储结构(邻接矩阵)
    图的定义与术语 数据结构和算法54
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14290298.html
Copyright © 2011-2022 走看看