hdu 1106 去5排序
题目链接:https://vjudge.net/problem/HDU-1106
题目大意:
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
Sample Input
0051231232050775
Sample Output
0 77 12312320 解题分析:
这道题很基础,主要是懂得如何运用istringstream 字符串流输入,它能够将带有空格的string转化为很多独立的string。
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <sstream> // istringstream头文件
using namespace std;
int ans[]; int deal(string a) //将这一段字符串转化为对应的数字
{
int i = ;
while (a[i] == '') //去前导0
{
i++;
}
if (i == a.length())return ; //如果全是0的话,输出0
else
{
int sum = ; int cur = ;
for (int j = a.length() - ; j >= i; j--)
{
sum += (a[j]-'') * cur;
cur *= ;
}
return sum;
}
} int main()
{
string str;
while (cin >> str)
{
memset(ans, , sizeof(ans));
int num = ;
for (int i = ; i < str.length(); i++)
{
if (str[i] == '')str[i] = ' ';
}
istringstream tmp(str);
string aa; int res = ;
while (tmp >> aa) //将带空格的字符串流转化为一个个独立的string
{
int num = deal(aa);
ans[res++] = num;
}
sort(ans, ans + res);
for (int i = ; i < res - ; i++)printf("%d ", ans[i]);
printf("%d\n", ans[res - ]);
}
return ;
}
2018-05-27
hdu 1106 去5排序的更多相关文章
- HDU.2647 Reward(拓扑排序 TopSort)
HDU.2647 Reward(拓扑排序 TopSort) 题意分析 裸的拓扑排序 详解请移步 算法学习 拓扑排序(TopSort) 这道题有一点变化是要求计算最后的金钱数.最少金钱值是888,最少的 ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 1106 排序 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1106 这个题目一开始以为是水题,就想着用来轻松轻松,谁知道改得我想吐!! 除了discuss 中的数据 ...
- hdu 1106 排序(水题)
题目描述: 输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以'0'开头,这些头部的'0'应该被忽略掉,除非这个整数就是由若干个'0'组成的, ...
- HDU 1106 排序 题解
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- hdu 1106:排序(水题,字符串处理 + 排序)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- hdu 1106 排序
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- HDU 1106 排序 (排序+处理字符串)
题意:略. 析:按照题目说的,把字符串分割,然后把字符串转成十进制,存起来,可以用数组,我用的向量, 排序一下就OK了.注意的是,要考虑多个5相邻的时候,刚开始没考虑WA了一次. 代码如下: #inc ...
- HDU 1106 排序(排序)
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数 ...
随机推荐
- BZOJ 4614[Wf2016]Oil
权限题鸭qwq 首先可以知道最优答案选出来的直线一定可以经过某条线段左端点,如果这条直线没有过左端点,可以通过平移和旋转等操作达到.所以可以枚举这条直线过了哪条线段的左端点,那么对于其他线段,能对答案 ...
- ubuntu 14.04 软件中心闪退解决方案
法一: gksudo gedit /usr/share/software-center/softwarecenter/ui/gtk3/views/lobbyview.py 注释下面这句话(注释使用#号 ...
- python中argparse模块用法实例详解
python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...
- Win10 + Visual Studio 2017 下 OpenCV无法显示图像的问题
测试代码如下: #include "stdafx.h" #include<opencv2\opencv.hpp> #include<opencv2\highgui ...
- (并发编程)进程 (multiprocessing--Process实现进程并发)
['创建进程2方式种', '进程对象属性:join方法,守护进程obj.daemon=True,obj.pid, obj.name, obj.terminate(),obj.is_alive()等 ' ...
- S5PV210 LCD显示
第一节 S5PV210 LCD控制器要使一块LCD正常显示文字或图像,不仅需要LCD驱动器,还需要相应的LCD控制器.LCD控制器的主要作用是将在系统存储器中的显示缓冲区中的LCD图像数据传送到外部L ...
- 擅于使用JS的eval方法
样例如下: var appsDetails = {“app1”:"", “app2”:"", “app3”:"", “app4”:" ...
- Fragment的详细使用
一直在用Fragment,但是没有系统的整理过,Google了一下相关文章,看到了几篇,将几篇还不错的文章重点整理了下,很多是直接Copy的,只为做个笔记,以后翻来看比较方便,建议大家看一下下面几篇, ...
- js 数组、对象转json 以及json转 数组、对象
1.JS对象转JSON 方式:JSON.stringify(obj) var json = {"name":"iphone","price" ...
- mysql查询不区分大小写问题分析和解决
mysql查询默认是不区分大小写的 如: select * from some_table where str=‘abc'; select * from some_table where str='A ...