题目描述 Description

小明有一款新式积木,每个积木上都有一个数,一天小明突发奇想,要是把所有的积木
排成一排,所形成的数目最大是多少呢?
你的任务就是读入 n 个数字积木,求出所能形成的最大数。
 输入输出格式 Input/output
输入格式:

第一行是一个整数 n (n≤1000),接下来 n 行每行是一个正整数。
输出格式:
所能形成的最大整数
 输入输出样例 Sample input/output
样例测试点#1

输入样例:

3
13
131
343

输出样例:

34313131

说明 description

30%的数据, n≤l0,每个数<10^3。 50%的数据, n≤l00。 100%的数据, n≤1000,每个数<10^200。

思路:这题乍一看,wow,还蛮简单的哦。我当时的思路是:把这些数按顺序每个排一遍,比较一下大小,但这种方法实在很慢,几十个就爆了。

但可以仔细观察下一下规律:要使一个数更大,首先要使首位尽量的大,并且要使一个数的位数尽量的大!

太棒了,这就是正确的思路,怎么实现呢?这时,很快联想到,诶,这不是字符串的比较方法吗?!太棒了,就用字符串来解决!

这题就演变成了简单的字符串二维数组排序,太棒了!

代码如下:

  1. #include <stdio.h>
  2. #include <string.h>
  3. void sort(char array[][],int n)//排序函数
  4. {
  5. char temp[];
  6. int i,j,k;
  7. for(i=;i<n-;i++)
  8. {
  9. k=i;
  10. for(j=i+;j<n;j++)
  11. if(strcmp(array[k],array[j])<)//大到小排序
  12. k=j;
  13. if(k!=i)
  14. {
  15. strcpy(temp,array[i]); //字符串交换顺序
  16. strcpy(array[i],array[k]);
  17. strcpy(array[k],temp);
  18. }
  19. }
  20. }
  21. int main()
  22. {
  23. int n,i;
  24. char str[][];
  25. scanf("%d",&n);
  26. for(i=;i<n;i++)
  27. {
  28. scanf("%s",str[i]);//输入N个字符串
  29. }
  30. sort(str,n);//对输入的字符串排序
  31. for(i=;i<n;i++)
  32. {
  33. printf("%s",str[i]);
  34. }
  35. printf("\n");
  36. return ;
  37. }

NOIP2010-普及组复赛模拟试题-第二题-数字积木的更多相关文章

  1. NOIP2011-普及组复赛模拟试题-第二题-买票

    题目背景 Background Ztc真的遇上黄牛了...  题目描述 Description   周末Ztc想去剧场看演出,但是他没有票.这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc一些票.   ...

  2. NOIP2010-普及组复赛模拟试题-第一题-手机

    题目背景 Background 现在手机使用越来越广泛了  题目描述 Description 一般的手机的键盘是这样的:   要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一 ...

  3. NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军

    题目背景 Background 一年两度的期末考要到来了!!  题目描述 Description   又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍.由 ...

  4. 冲刺NOIP2015提高组复赛模拟试题(五)2.道路修建

    2.道路修建 描述 Description liouzhou_101最悲痛的回忆就是NOI2011的道路修建,当时开了系统堆栈,结果无限RE… 出于某种报复心理,就把那题神奇了一下: 在 Z星球上有N ...

  5. CCF-NOIP-2018 提高组(复赛) 模拟试题(九)(2018 CSYZ长沙一中)

    T1 Circle [问题描述] 小 w 的男朋友送给小 w 一个 n 个点 m 条边的图,并且刁难小 w 要她找出点数最少的正环. 小 w 不会做,于是向你求助. [输入格式] 第一行两个整数\(n ...

  6. CCF-NOIP-2018 提高组(复赛) 模拟试题(四)

    T1 贪吃蛇 [问题描述] 贪吃蛇是一个好玩的游戏.在本题中,你需要对这个游戏进行模拟. 这个游戏在一个 \(n\) 行 \(m\) 列的二维棋盘上进行. 我们用 \((x, y)\) 来表示第 \( ...

  7. CCF-NOIP-2018 提高组(复赛) 模拟试题(一)

    T1 帽子戏法 问题描述 小 Y 有一个\(n*n*n\)的"帽子立方体" ,即一个\(n\)层的立方体,每层的帽子都 可以排成\(n*n\)的矩阵. "帽子立方体&qu ...

  8. CCF-NOIP-2018 提高组(复赛) 模拟试题(七)

    T1 Adjoin [问题描述] 定义一种合法的\(0-1\)串:串中任何一个数字都与\(1\)相邻.例如长度为$ 3 的 0-1 $串中,\(101\)是非法的,因为两边的\(1\)没有相邻的\(1 ...

  9. CCF-NOIP-2018 提高组(复赛) 模拟试题(三)

    T1 取球游戏 问题描述 现有\(N\)个小球,依次编号为\(1\)到\(N\),这些小球除了编号以外没有任何区别.从这\(N\)个小球中取出\(M\)个,请问有多少种取球方案使得在取出的\(M\)个 ...

随机推荐

  1. 修改searchBar的返回按钮的显示文字

    #pragma mark 搜索框的代理方法,搜索输入框获得焦点(聚焦) - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { ...

  2. DiskGenius(磁盘分区/数据恢复) 32位 V4.9.1 免费绿色版

    软件名称: DiskGenius(磁盘分区/数据恢复) 32位 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 19.5MB 图片预览: 软件简介: Dis ...

  3. 【锋利的Jquery】读书笔记三

    DOM操作 三个方面;DOM core    html-dom  css-dom 注意点: 删除事件中 三种删除节点的方法   remove   detach   empty remove不解释 de ...

  4. 安卓用canvas画曲线图

    1.新建一个常变量类Constant.java package com.rain.db; import android.graphics.Point; public class Constant { ...

  5. ap143 led修改

    以前的硬件版本只使用了一个eth口,新的板子增加了一个eth口,并且增加了响应的通信时使用的灯. led修改涉及到一下的内容: (1)led 对应的gpio口(这个需要根据原理图来定义) 需要修改的源 ...

  6. 总结的OSM 地图相关的分析

    How OSM works:  Tile Format: png,  z: levels [0- 18], x: Latitude [0- ], y: Longitude [0- ];         ...

  7. ABAP字符串操作 截取字符长度 取位数

    ABAP字符串操作   ABAP對字串的操作方法與其他語言的操作有較大差別,以下是較常用的對字串操作的方法: 1. 字串的連接:CONCATENATEDATA: t1 TYPE c LENGTH 10 ...

  8. nginx 搭建 文件下载服务

    location / { root /home/data-nginx/; index index.html index.htm; autoindex on; ##显示索引 autoindex_exac ...

  9. linux系统被入侵后处理经历【转】

    背景 操作系统:Ubuntu12.04_x64 运行业务:公司业务系统,爬虫程序,数据队列. 服务器托管在外地机房. 突然,频繁收到一组服务器ping监控不可达邮件,赶紧登陆zabbix监控系统查看流 ...

  10. md5证书在window2012不能访问

    之前在window 2008使用makecert的产生的证书,部署到window 2012后,发现只有IE能访问,但是Firefox和chrome都不行.Firefox可以使用about:config ...