励志用少的代码做高效表达。


Problem describe

输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。

Input

输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。

Output

对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。


题意分析

题意:给定字符串, 用5分割, 将分割后的数据排序输出, 字符串不能全为5,每个数据最大不超过10E。

在网上看了很多形形色色的解法。 很多代码甚至洋洋洒洒写到了一百多行。 所谓考虑不够,特判来凑。其中很多代码都用在了条件的特殊判断上。

但我觉得出题人的本意并不是想考细节,而是考查对C语言stroke()函数或c++sstream的用法。

这里我用的是sstream头文件分割函数。 具体做法是:

首先将字符串遍历, 5全部替换为空格, 接下来使用stringstream将字符串转化为int型变量, 配合while循环使用,会自动以空格为界限划分变量, 存入数组后排序即可。

只用了18行代码成功AC。 是不是很简单!!!

对sstream头文件不了解的请戳这里——>神奇的sstream头文件(整型与字符串自由转换)


代码展示

#include<bits/stdc++.h>
using namespace std;
int main() {ios::sync_with_stdio(false);string s; while(cin>>s) {int len = s.length(); for(int i = 0; i < len; i++) if(s[i] == '5') s[i] = ' ';int num;vector<int>v;stringstream ss; ss << s; while(ss >> num) v.push_back(num);sort(v.begin(), v.end());int len1 = v.size();for(int i = 0; i < len1; i++) cout<<v[i]<<(i==len1-1?'\n':' '); }
return 0; }

如果这篇文章对你产生了帮助,就请给博主一个赞吧!让更多的人看到它。

18行代码AC_排序 HDU - 1106(sstream简单解法)相关推荐

  1. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  2. 18行代码AC——PTA 二叉树的遍历 (10分)——解题报告

    励志用尽量少的代码做高效的表达. 根据输入构造二叉树,输出该二叉树的先序序列.二叉树共有N个节点,节点编号是1到N.约定1号节点是根节点. 输入格式: 第一行输入整数N. 接下来有N行,依次给出1到N ...

  3. 15行代码AC_ 【蓝桥杯】兴趣小组(解题报告+思考)

    励志用更少的代码做更高效的表达 问题描述: 为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组 (以下称A组,B组,C组). 每个小组的学生名单分别在[A.txt],[B.txt]和[C.tx ...

  4. python基础代码事例-Python基础总结成千行代码,让Python入门更简单!

    只要学会这千行代码,不管你是零基础还是弱基础或是没有接触过编程,都可以快速入门Python! 不管学习任何东西,入门方面都是比较快的,但是要深入的话,还是需要一个积累的过程,这是一个漫长且需要坚持的事 ...

  5. python常用代码入门-Python基础总结成千行代码,让Python入门更简单!

    只要学会这千行代码,不管你是零基础还是弱基础或是没有接触过编程,都可以快速入门Python! 不管学习任何东西,入门方面都是比较快的,但是要深入的话,还是需要一个积累的过程,这是一个漫长且需要坚持的事 ...

  6. 给我往死里贪!——24行代码AC_今年暑假不AC HDU - 2037(贪心模板讲解)

    励志用少的代码做高效表达 思路分析: 贪心算法模板题 贪心算法简单来讲即自顶向下,求解出每个子最优解,且每个子问题不会对下一个问题产生影响 该题算法模型为: 1.若每次选取开始时间最早的节目,无法求出 ...

  7. 26行代码AC_试题 历届试题 日期问题 | 第八届蓝桥杯B组第七题

    问题描述   小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的, ...

  8. L1-005 考试座位号 (15分) C语言实现(18行代码AC!)

    立志用更少的代码做更高效的表达 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考 ...

  9. 21行代码AC_ 试题H: 修改数组【解题报告】

    励志用更少的代码做更高效的表达 题目描述 给定一个长度为N 的数组A = [A1, A2,-,AN],数组中有可能有重复出现的整数. 现在小明要按以下方法将其修改为没有重复整数的数组.小明会依次修改A ...

最新文章

  1. ajax按钮禁止重复提交,Ajax禁止重复提交
  2. go 怎么等待所有的协程完成_Go语言入门必知教程-协程
  3. 函数重载(overload)
  4. layuiajax提交表单控制层代码_究竟怎么用Restful风格编代码必看这篇。(二)
  5. JS数据类型与分支结构
  6. windows server2008R2故障转移群集
  7. 在实际管理中学习管理
  8. 「GIT SourceTree冲突」解决方案
  9. 关于子网划分的几个捷径
  10. 这两天做项目出现的几个问题
  11. 车联网创新生态发展报告
  12. java 是否含有日文_Java踩坑记系列之Arrays.asList
  13. Magisk 安装error
  14. 机器人系统常用仿真软件工具介绍、效果与评价指标(2018年更新)
  15. 设置网站 titile keyword 以及 descript
  16. jsp游戏补丁共享网站设计
  17. java.lang.NullPointerException: Missing required view with报错
  18. tinymce富文本框照片上传
  19. NVIDA CUDA和cuDNN安装教程
  20. 安装linux无法进入图形界面,centos7安装进不去图形界面

热门文章

  1. 聚美app之 _sign参数分析
  2. tomcat 启动异常 The web application [ROOT] registered the JDBC driver [xxx] but failed to unregister it
  3. 面试官:你对MySQL高性能优化有什么规范建议?
  4. 再看Kafka Lag
  5. Cocos2d-x快速打包脚本
  6. 优化 Golang 分布式行情推送的性能瓶颈
  7. 图解Go语言内存分配
  8. 三星电子推出X-net架构用于语音通话
  9. 【公开课预告】:六款开源LL-HLS/LL-DASH播放器评测
  10. MySQL索引知识点