最大整数(Noip1998连接多位数)
最大整数(Noip1998连接多位数)
【问题描述】
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
【输入格式】
n
n个数
【输出格式】
联接成的多位数
【输入样例】maxnum.in
3
13 312 343
【输出样例】maxnum.out
34331213
分析:
这个题目很自然地想到把n个数按照字符串排序之后输出即可。
但是对两个串A和B,假如按照正常的strcmp(A,B)的结果来判断A和B的大小关系
从而作为排序依据的话,很容易就可以举例说明不正确:
例如A=“13”,B=“132”,strcmp(A,B)发现A<B,但是AB>BA。
所以,这里应该判断AB和BA的大小关系来判断A和B的大小关系:
若是AB>BA则A>B,若是AB<BA则A<B,否则A==B。
按照这个比较规则对所有字符串排序并输出即可。
#include <stdio.h> #include<stdlib.h> #include<string.h> int cmp(const void * a,const void *b) { ],ba[]; strcpy(ab,(char *)a);strcat(ab,(char *)b); strcpy(ba,(char *)b);strcat(ba,(char *)a); return strcmp(ba,ab); } int main() { int n,i,temp; ][]; freopen("maxnum.in","r",stdin); freopen("maxnum.out","w",stdout); scanf("%d",&n); ;i<n;i++) scanf("%s",a[i]); /*for(i=0;i<n;i++) printf("%s\n",a[i]);*/ qsort(a,n,]),cmp); ;i<n;i++) printf("%s",a[i]); ; }
最大整数(Noip1998连接多位数)的更多相关文章
- [NOIp 1998 提高组]Probelm 2 连接多位数【2011百度实习生笔试题】
/*====================================================================== [NOIp 1998 提高组]Probelm 2 连接 ...
- 整数分解和for循环
整数的分解: 一个整数是由多位数字组成的,那么如何能分解出整数的各个位上的数字呢 对一个整数做%10的操作,就可以得到它的个位数 对一个整数做/10的操作,就去掉了他的个位数 然后再对2的结果做%10 ...
- Java基础系列--03_Java中的方法描述
方法 (1)方法的定义:就是完成特定功能的代码块. 注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法. (2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ...
- python自动化开发-[第十四天]-javascript(续)
今日概要: 1.数据类型 2.函数function 3.BOM 4.DOM 1.运算符 算术运算符: + - * / % ++ -- 比较运算符: > >= < <= != = ...
- aiohttp的笔记之TCPConnector
TCPConnector维持链接池,限制并行连接的总量,当池满了,有请求退出再加入新请求.默认是100,limit=0的时候是无限制 1.use_dns_cache: 使用内部DNS映射缓存用以查询D ...
- JavaBasic_03
变量 变量定义的格式: 数据类型 变量名 = 初始化值; 可以在一行中定义多个变量(在实际开发中不推荐,推荐一行定义一个变量)数据类型 变量名1=初始化值,变量名,...,变量名n // ...
- ROS解决网页断流现象 (转)
“pppoe-client”接口,将“MAX MTU”和“MAX MRU”都设置成“” /ip firewall mangle add action=change-mss chain=forward ...
- 前端基础之JavaScript_(1)_ECMAScript
一.JavaScript概述 JavaScript的历史 992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase. ...
- oslo.messaging
oslo.messaging oslo.messaging库为OpenStack各个项目使用RPC和事件通知(Event Notification)提供了一套统一的接口.代码库位于https://gi ...
随机推荐
- 整合 Ext JS 和第三方类库
介绍 ExtJS提供了许多高度可定制化内置组件.如果它不在框架(framework)里面,你可以很容易的扩展这些类,或者浏览Sencha市场(Sencha Market) 寻找你可能需要的任何东西.那 ...
- Verilog 加法器和减法器(1)
两个一位的二进制数x,y相加,假设和为s,进位为cout,其真值表为: 从真值表中,我们可以得到:s = x^y, cout = x&y,实现两个一位数相加的逻辑电路称为半加器. 实现该电路的 ...
- 东芝发布运行Win 10的AR眼镜,它和Google Glass企业版有哪些异同?
https://www.leiphone.com/news/201803/Tw0nrq6vGDIvbmXr.html 雷锋网(公众号:雷锋网)获悉,3月13日,东芝发布新AR眼镜dynaEdge AR ...
- 如何把本地代码提交到git(码云)、github代码管理项目上
前提必须安装了git工具 以下命令操作都是通过git bash操作. 将本地代码提交到码云空项目操作: D:\>mkdir inek_winprop D:\>cd inek_winprop ...
- php composer工具高速使用教程,超级简单
php依赖管理工具.用于处理packages或者libraries.基于单个工程project,在project的vender目录下保存,默认永远不会全局安装. 须要php 5.3.2+,安装资源包时 ...
- jquery如何获取元素的滚动高度
获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度 $(documen ...
- LintCode: Number of Islands
分析:经典连通分量问题 图: 节点:所有1的位置 边:两个相邻的1的位置有一条边 BFS/DFS (DFS使用递归,代码较短) 选一个没标记的点,然后搜索,扩展4个邻居(如果有),直到不能扩展 每一次 ...
- scala中Option和Some
Option的解释: Represents optional values. Instances of Option are either an instance of scala.Some or t ...
- MySql 错误代码 1045
错误代码 1045Access denied for user 'root'@'localhost' (using password:YES)解决办法是重新设置root用户密码,在Windows平台下 ...
- XAML中特殊符号书写
XAML中特殊符号书写 表示换行. 表示空格.