PAT练习-组个最小数
来源:互联网 发布:python chm 2.7下载 编辑:程序博客网 时间:2024/03/29 06:52
题目描述
给定数字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<stack>using namespace std;int main() { int M[10]; int i=0; int flag=1; stack <int> mystack; for(i=0;i<10;i++) { scanf("%d",&M[i]); } for(i=9;i>0;i--)//注意这步只让其进栈前九位数,0那位排除在外 { for(int j=0;j<M[i];j++) { mystack.push(i); } } while(!mystack.empty())//判断栈内元素是否为空 { printf("%d",mystack.top());//元素置于栈顶部 mystack.pop();//移除栈顶元素 if(flag&&M[0]) { for(i=0;i<M[0];i++) { printf("0"); } flag=0; } } if(mystack.empty()&&M[0]&&flag)//如果只有 ‘0’数量的时候输出0 { printf("0"); } return 0;}
阅读全文
1 0
- PAT练习-组个最小数
- PAT-组个最小数
- PAT 1023. 组个最小数 (20)
- ZJU PAT 1023 组个最小数
- PAT 1023. 组个最小数 (20)
- PAT 1023. 组个最小数
- PAT-B 1023. 组个最小数
- PAT 1023. 组个最小数
- PAT B1023组个最小的数
- PAT 1023 组个最小数
- PAT乙级 组个最小数 (20)
- PAT-1023 组个最小数
- PAT 乙级 1023. 组个最小数
- PAT-B 1023. 组个最小数
- cccc PAT 1023组个最小数
- PAT-B 1023. 组个最小数
- pat 乙 1023. 组个最小数
- PAT乙级 1023. 组个最小数
- GIT库中禁止追踪文件变化的两种方式
- oracle 查询半小时之前的数据
- SpringBoot配置自定义线程池的数据源
- apache所有项目的安装包和源码下载地址
- 页面置换算法
- PAT练习-组个最小数
- iOS开发之解决CocoaPods中“.h”头文件找不到的问题,简单粗暴的方法
- SQLAlchemy参考
- LR逻辑回归
- 小而美Vue.js的初体验
- kafka C++ 生产者 消费者
- Java开发中的23种设计模式详解
- [leetcode]42. Trapping Rain Water(Java)
- 对swift新语言应用初步认识