题目连接:uva 10905 Children's Game

题目大意:给出n个数字, 找出一个序列,使得连续的数字组成的数值最大。

解题思路:排序,很容易想到将数值大的放在前面,数值小的放在后面。可是,该怎么判断数值的大小(判断数值大小不能单单比较两个数的大小,比如遇到:1 、10的情况)。其实,判断一个不行,那就将两个合在一起考虑就可以了(就是比较110合101的大小来普判断1 放前面还是10放前面)。

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 1005; struct number {
char s[N];
}num[N]; bool cmp(const number &a, const number &b) {
char str1[N], str2[N];
strcpy(str1, a.s);
strcat(str1, b.s);
strcpy(str2, b.s);
strcat(str2, a.s);
return strcmp(str1, str2) > 0;
} int main() {
int n;
while (scanf("%d", &n), n) {
// Init;
memset(num, 0, sizeof(num)); // Read;
for (int i = 0; i < n; i++)
scanf("%s", num[i].s); sort(num, num + n, cmp); for (int i = 0; i < n; i++)
printf("%s", num[i].s);
printf("\n");
}
return 0;
}

最新文章

  1. 【原创】开源Math.NET基础数学类库使用(15)C#计算矩阵行列式
  2. python3.4 build in functions from 官方文档 翻译中
  3. javascript --- 子对象访问父对象的方式
  4. Quartz2D
  5. Linux关机重启指令
  6. Centos7安装docker-compse踩过的坑
  7. Beta 冲刺(4/7)
  8. centos7下安装docker(24docker swarm 数据管理)
  9. SpringBoot--web版的ocr
  10. 国内优秀MVC开源框架jfinal简介
  11. linux环境下tomcat安装
  12. vi中批量加注释
  13. Linux pip 命令无法使用问题
  14. 20145325张梓靖 《网络对抗技术》 Web安全基础实践
  15. CodeForces 682A
  16. Chrome控制台格式化输出
  17. Jquery图片上传组件,支持多文件上传
  18. [转]NSIS常用代码整理
  19. 【C语言学习笔记】字符串拼接的3种方法 .
  20. 手脱Aspack变形壳1

热门文章

  1. node anyproxy ssi简易支持
  2. nginx 目录密码保护的设置方法
  3. python encode和decode函数说明【转载】
  4. SQL Server 全文索引
  5. [Drools]JAVA规则引擎 -- Drools 2
  6. centos扩容(pv,vg,lv)
  7. hive集群安装配置
  8. Brew install for mac
  9. HDU 5062 Beautiful Palindrome Number(数学)
  10. iptables 配置