NOIP2010-普及组复赛模拟试题-第二题-数字积木
题目描述 Description
排成一排,所形成的数目最大是多少呢?
你的任务就是读入 n 个数字积木,求出所能形成的最大数。
所能形成的最大整数
输入样例:
3
13
131
343
输出样例:
34313131
说明 description
30%的数据, n≤l0,每个数<10^3。 50%的数据, n≤l00。 100%的数据, n≤1000,每个数<10^200。
思路:这题乍一看,wow,还蛮简单的哦。我当时的思路是:把这些数按顺序每个排一遍,比较一下大小,但这种方法实在很慢,几十个就爆了。
但可以仔细观察下一下规律:要使一个数更大,首先要使首位尽量的大,并且要使一个数的位数尽量的大!
太棒了,这就是正确的思路,怎么实现呢?这时,很快联想到,诶,这不是字符串的比较方法吗?!太棒了,就用字符串来解决!
这题就演变成了简单的字符串二维数组排序,太棒了!
代码如下:
#include <stdio.h>
#include <string.h>
void sort(char array[][],int n)//排序函数
{
char temp[];
int i,j,k;
for(i=;i<n-;i++)
{
k=i;
for(j=i+;j<n;j++)
if(strcmp(array[k],array[j])<)//大到小排序
k=j;
if(k!=i)
{
strcpy(temp,array[i]); //字符串交换顺序
strcpy(array[i],array[k]);
strcpy(array[k],temp);
}
}
}
int main()
{
int n,i;
char str[][];
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%s",str[i]);//输入N个字符串
}
sort(str,n);//对输入的字符串排序
for(i=;i<n;i++)
{
printf("%s",str[i]);
}
printf("\n");
return ;
}
NOIP2010-普及组复赛模拟试题-第二题-数字积木的更多相关文章
- NOIP2011-普及组复赛模拟试题-第二题-买票
题目背景 Background Ztc真的遇上黄牛了... 题目描述 Description 周末Ztc想去剧场看演出,但是他没有票.这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc一些票. ...
- NOIP2010-普及组复赛模拟试题-第一题-手机
题目背景 Background 现在手机使用越来越广泛了 题目描述 Description 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一 ...
- NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军
题目背景 Background 一年两度的期末考要到来了!! 题目描述 Description 又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍.由 ...
- 冲刺NOIP2015提高组复赛模拟试题(五)2.道路修建
2.道路修建 描述 Description liouzhou_101最悲痛的回忆就是NOI2011的道路修建,当时开了系统堆栈,结果无限RE… 出于某种报复心理,就把那题神奇了一下: 在 Z星球上有N ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(九)(2018 CSYZ长沙一中)
T1 Circle [问题描述] 小 w 的男朋友送给小 w 一个 n 个点 m 条边的图,并且刁难小 w 要她找出点数最少的正环. 小 w 不会做,于是向你求助. [输入格式] 第一行两个整数\(n ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(四)
T1 贪吃蛇 [问题描述] 贪吃蛇是一个好玩的游戏.在本题中,你需要对这个游戏进行模拟. 这个游戏在一个 \(n\) 行 \(m\) 列的二维棋盘上进行. 我们用 \((x, y)\) 来表示第 \( ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(一)
T1 帽子戏法 问题描述 小 Y 有一个\(n*n*n\)的"帽子立方体" ,即一个\(n\)层的立方体,每层的帽子都 可以排成\(n*n\)的矩阵. "帽子立方体&qu ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(七)
T1 Adjoin [问题描述] 定义一种合法的\(0-1\)串:串中任何一个数字都与\(1\)相邻.例如长度为$ 3 的 0-1 $串中,\(101\)是非法的,因为两边的\(1\)没有相邻的\(1 ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(三)
T1 取球游戏 问题描述 现有\(N\)个小球,依次编号为\(1\)到\(N\),这些小球除了编号以外没有任何区别.从这\(N\)个小球中取出\(M\)个,请问有多少种取球方案使得在取出的\(M\)个 ...
随机推荐
- LCT
一个LCT看了一天了,但是很多地方还是理解的很模糊,简单谈一下理解. LCT支持的是对于森林的分裂.合并,以及查询节点的连通性等操作. 对于这片森林来说,它是由一坨树组成的,对于每一棵树,我们采用类似 ...
- mybatis(1)
一.MyBatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis ...
- JQuery笔记(三)选项卡
通过jq封装的方法,可以更简单的制作一个选项卡 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- SQL in优化将In转化为联合查询
in查询有时候会非常影响性能,最好能转化为联合查询,但有的网友说sqlserver会自动将in转化为联合查询,但我实际遇到的有时候却不是这样.所以最好还是不要用in. 我自己的例子,用in的时候耗费了 ...
- 关于IT实例教程
W3c:http://www.w3school.com.cn/ 易百:http://www.yiibai.com/ 菜鸟教程:http://www.runoob.com/
- jenkins自动部署war包到jetty
1.把jenkins.war包复制到jetty的webapps下面 2.在jetty的webapps下面新建jenkins.xml文件 内容如下: <?xml version="1.0 ...
- linux(centos7)下SVN服务器如何搭建
linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...
- Android:内存优化的一些总结
______________________摘录于:http://www.cnblogs.com/yezhennan/p/5442557.html____________________ 1.大图片的 ...
- Python简记
1.字符换行: print('ab \ncd \nef')
- Delphi @ # $ 特殊字符含义
^: 指针 @: 取址 #: 十进制符 $: 十六进制符