HDU 1106 排序
来源:互联网 发布:java线程死锁 编辑:程序博客网 时间:2024/06/05 19:22
Problem Description
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
Sample Input
0051231232050775
Sample Output
0 77 12312320
以下是代码。
#include <iostream>#include <string>#include <queue>using namespace std;int main(){ string s; priority_queue<int, vector<int>, greater<int> > q; //创建由小到大的优先队列q。 while(cin>>s) { int ans = 0; int sign = 0; for(int i = 0; i<s.length(); i++) { if(s[i]!='5') { ans = ans*10 + s[i] - '0'; sign = 1; } else { if(sign) //如果是5,并且上一个数不是5, { //将得到的结果放入优先队列中 q.push(ans); ans = 0; sign = 0; } } } if(sign) q.push(ans); cout<<q.top(); q.pop(); while(!q.empty()) { cout<<" "<<q.top(); q.pop(); } cout<<endl; }}
0 0
- HDU 1106 排序
- hdu 1106排序
- hdu 1106 排序
- hdu 1106 排序
- hdu-1106 排序
- HDU-1106 排序
- HDU 1106 排序
- hdu 1106 排序
- hdu 1106 排序
- HDU 1106 排序
- HDU 1106 排序
- HDU 1106 排序
- HDU-1106排序
- hdu 1106 排序
- hdu 1106 排序
- hdu 1106 排序
- HDU 题目1106 排序
- HDU 1106 排序
- vs控制台一闪而过解决办法
- asp.net MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
- 通过设置mmc IP安全策略禁止ping入本机 - sever 2008 Apache优化配置
- 第六周项目3 人数不定的工资类
- C#面试知识点
- HDU 1106 排序
- android上app后台运行的相关知识(一)————android的四大组件:Activity、Service、BroadCast Recevicer、Content provider
- Win8 Metro(C#)数字图像处理--2.39二值图像投影
- 通过vsql访问vertica
- 针对Mac OS系统10.10.3开机速度过慢的解决办法
- 沙盒目录的区别
- 论passion
- jQuery简单实用的轻量级进度条插件
- 第六周(友元函数)