蓝桥杯算法赛(二进制王国)

问题描述

二进制王国是一个非常特殊的国家,因为该国家的居民仅由 0 和 1 组成。

在这个国家中,每个家庭都可以用一个由 0 和 1 组成的字符串 S 来表示,例如 101、 000、 111 等。

现在,国王选了出 N 户家庭参加邻国的庆典。为了符合王国的审美标准,我们需要选择一种排队顺序,使得最终形成的队伍在字典序上是最小的。

国王将这个任务交给了你,请你解决这个问题。

输入格式

第一行包含一个整数 N(1 ≤N≤2×10^5),代表二进制家庭数量。

接下来输入 N 行,第 i 行输入一个二进制字符串 Si 表示第 i​​ 户家庭。

数据范围保证: ,其中 |Si|表示第 i 个字符串的长度。

输出格式

输出一行一个字符串,表示字典序最小的排队情况。

输入样例

复制代码
3 
111 
000 
101

输出样例

复制代码
000101111

说明

字典序最小的排队应该是 S2 S3 S1,形成的队伍为 000101111。

java 复制代码
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n=scan.nextInt();
        String[] s=new String[n];
        for(int i=0;i<n;i++){
          s[i]=scan.next();
        }
        Arrays.sort(s,new Comparator<String> (){
          public int compare(String s1,String s2){
            return (s1+s2).compareTo(s2+s1);
          }
        });
        for(int i=0;i<n;i++){
          System.out.printf(s[i]);
        }
    }
}
相关推荐
咖啡星人k5 小时前
从Vibe Coding到Prompt Engineering:AI编程的新技能树
面试·职场和发展·ai编程
a1117766 小时前
LM 算法迭代过程动画演示(SLAM)
算法
头茬韭菜6 小时前
Context 的生死抉择:四层压缩、截断算法与 Session Memory
算法·ai
犀利豆6 小时前
AI in Harness(二)
java·人工智能·后端
Jerry6 小时前
LeetCode 541. 反转字符串 II
算法
Jerry6 小时前
LeetCode 344. 反转字符串
算法
cookies_s_s7 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
搞科研的小刘选手7 小时前
【香港大学主办&IEEE出版】第六届计算机视觉、应用与算法国际学术会议(CVAA 2026)
算法·计算机视觉·应用·学术会议
Java小白笔记7 小时前
Codex config.toml配置实战指南
人工智能·算法·chatgpt·ai编程·集成学习
王老师青少年编程7 小时前
2026年6月GESP真题及题解(C++七级):消消乐
数据结构·c++·算法·真题·gesp·2026年6月