PAT (Basic Level)1023. 组个最小数
2016-02-26 16:17
253 查看
http://www.patest.cn/contests/pat-b-practise/1023
题目描述:
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。
现给定数字,请编写程序输出能够组成的最小的数。
输入格式:
每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。
输出格式:
在一行中输出能够组成的最小的数。
输入样例:
输出样例:
题目描述:
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。
现给定数字,请编写程序输出能够组成的最小的数。
输入格式:
每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。
输出格式:
在一行中输出能够组成的最小的数。
输入样例:
2 2 0 0 0 3 0 0 1 0
输出样例:
10015558
#include <iostream> #include <string> #include <algorithm> #include <cmath> #include <iomanip> #include <ctype.h> using namespace std; int main() { int count[10] = {0}; int i = 0 , j = 0; for ( ; i < 10 ; i++) cin >> count[i] ; for ( i = 1 ; i < 10 ; i++) if (count[i] > 0) { cout << i ; count[i] --; break; } for ( i = 0 ; i< 10 ; i++) for ( j = 0 ; j<count[i] ; j++) cout << i; return 0; }
相关文章推荐
- POJ--3723 Conscription
- 【Hibernate集锦】延迟加载问题
- [国嵌攻略][072][Linux应用程序地址布局]
- 1107. Social Clusters (30)
- mysql系列1-基本sql优化
- 经典
- C#全局热键设置与窗体热键设置实例
- 从关系型数据库到非关系型数据库
- android studio gradle 多渠道打包之完全详解(打包系列教程之四)
- Leetcode 刷题计划
- Immutable(不可变)集合
- Apple Pay编程指导
- 阿里云服务器Web项目配置发布全过程
- VMware+CentOS+zookeeper+solr集群环境搭建_org.apache.solr.handler.dataimport.DataImportHandler
- VMware+CentOS+zookeeper+solr集群环境搭建_org.apache.solr.handler.dataimport.DataImportHandler
- jquery.fileupload.js插件使用--前两篇日志中两个类的使用示例
- 性能优化
- Soldier and Badges
- Python学习笔记 - 7.列表(List)
- JVM内幕:Java虚拟机详解