P1012 [NOIP 1998 提高组] 拼数——排序
题目描述
设有
输入格式
第一行有一个整数,表示数字个数
第二行有
输出格式
一个正整数,表示最大的整数
输入输出样例 #1
输入 #1
3 13 312 343
输出 #1
34331213
输入输出样例 #2
输入 #2
4 7 13 4 246
输出 #2
7424613
说明/提示
对于全部的测试点,保证
NOIP1998 提高组 第二题
题解
#include <bits/stdc++.h> using namespace std; // 自定义比较函数,用于比较两个字符串拼接后的大小 bool is_bigger(string a, string b) { return a + b > b + a; } int main() { int n; cin >> n; // 定义字符串数组 a 来存储输入的正整数 string a[n]; // 读取输入的 n 个正整数 for (int i = 0; i < n; i++) { cin >> a[i]; } // 使用自定义比较函数对字符串数组进行排序 sort(a, a + n, is_bigger); // 输出排序后的字符串数组拼接成的最大整数 for (int i = 0; i < n; i++) { cout << a[i]; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了