UVA10905 Children's Game
来源:互联网 发布:linux命令 chmod 编辑:程序博客网 时间:2024/05/22 03:22
问题链接:UVA10905 Children's Game。基础级练习题,用C++语言编写程序。
题意简述:输入n个正整数,将其连成一个最大的整数。
问题分析:本题有三大要点,一是并非把大的整数放在前面,例如12和3,构成的最大整数是312;二是也不能够简单地用函数strcmp()进行比较,例如9和90,构成的最大整数为990而不是909;三是n个整数里,有的可能是大整数,编写了一个C语言的程序,总是AC不了,后来终于明白了。
AC的C++语言程序如下:
/* UVA10905 Children's Game */#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int MAXN = 50;string val[MAXN];bool cmp(string a ,string b){ return a+b > b+a;}int main(){ int n; while(scanf("%d",&n)!=EOF && n != 0) { for(int i=0; i<n; i++) cin >> val[i]; sort(val, val + n, cmp); for(int i=0; i<n; i++) cout << val[i]; cout << endl; } return 0;}
没有AC的C语言程序如下:
/* UVA10905 Children's Game */#include <stdio.h>#include <string.h>#include <stdlib.h>typedef unsigned long long ULL;#define MAXN 50int n;ULL val[MAXN];char sa[20], sb[20], sab[40], sba[40];int cmp(const void * a, const void * b){ sprintf(sa, "%llu", *(ULL *)a); sprintf(sab, "%llu", *(ULL *)a); sprintf(sb, "%llu", *(ULL *)b); sprintf(sba, "%llu", *(ULL *)b); strcat(sab, sb); strcat(sba, sa); return strcmp(sba, sab);}int main(void){ int i; while(scanf("%d", &n) != EOF && n != 0) { for(i=0; i<n; i++) scanf("%llu", &val[i]); qsort(val, n, sizeof(val[0]), cmp); for(i=0; i<n; i++) printf("%llu", val[i]); printf("\n"); } return 0;}
1 0
- uva10905 - Children's Game
- Uva10905 Children's Game
- uva10905-Children's Game
- UVA10905- Children's Game
- UVA10905 - Children's Game
- uva10905 - Children's Game
- uva10905 - Children's Game
- UVA10905 Children's Game
- [排序]Children's Game uva10905
- BNU19323 UVA10905 Children's Game
- Uva10905 Children's Game (C++String的运运用呀...)
- 10905 - Children's Game
- 10905 - Children's Game
- 10905 - Children's Game
- UVaOJ10905 - Children's Game
- 10905 - Children's Game
- uva Children's Game
- Children's Game
- laravel配置memcache
- 数组实现随机数并判断最大值以及位置
- POJ 1753 Flip Game
- poj-2485
- Git常用基本命令
- UVA10905 Children's Game
- 字符串反转
- # vert.x学习笔记
- HDU-2160-母猪的故事(斐波那契数列)
- 数论----概率,期望
- 如何使用狐火浏览器调试js
- Mongodb 简介
- Spring源码剖析——依赖注入实现原理
- hdu4857 逃生(反向拓扑)