当前位置: 首页 > 编程日记 > 正文

HDU——1106排序(istringstream的使用、STLvector练习)

排序

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 46057    Accepted Submission(s): 13221


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

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。


Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。  

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。


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


Sample Input
0051231232050775


Sample Output
0 77 12312320

今天HDU11页上找找还有没有适合我这种菜鸟的水题时看别人的题解突然看到了这题。让我想起来做过的HDU——2072统计单词数。心里感觉这个东西可以进行输入重定向,但是就是百度了半天没百度到。还是去找了2072的代码(好吧2072也不完全是自己写的)。发现了这个玩意儿 istringstream(加上空格方便记忆,i string stream)

有了它这题写法比百度上的题解简单多了。偷个小懒嘿嘿

代码:

#include<iostream>
#include<string>
#include<sstream>
#include<algorithm>
using namespace std;
int power(int n,int cishu)//主要坑点还有这个,pow函数有误差,不如自己写一个
{int sum=1;for (int i=1; i<=cishu; i++){sum=sum*n;}return sum;
}
int sto(const string a)//string to int转换函数。 
{int i,sum=0;int len=a.size();for (i=len-1; i>=0; i--)//有个好处可以不管开头的0,从后往前的话前导0乘以权重还是0{sum+=(a[i]-'0')*power(10,len-1-i);}return sum;
}int main(void)
{string str,k;while(getline(cin,str)){for(int i=0; i<str.size(); i++)if(str[i]=='5') str[i]=' ';//将题目中要求的5替换为空格 istringstream sin(str);//进行输入重定向,格式为istringstream 重新定义的输入函数名称(源头字符串) 		int num[1000]={},t=0,i;		while(sin>>k)//从str中向临时变量k输入,用这个好处就是可以直接忽略掉中间的空格跟,不管几个{num[t]=sto(k);t++;//记录个数 }				sort(num,num+t);for(i=0; i<t; i++){if(i!=t-1)cout<<num[i]<<' ';elsecout<<num[i]<<endl;}}return 0;		
}

刚学了vector和STL一些函数,加上之前又去再次了解了下istringstream,发现重定向后可以直接进行数字或者其他的输入,不一定要是string。因此修改了下上面的代码并且用vector和对容器的sort,以及迭代器。

代码:

#include<iostream>
#include<sstream>
#include<algorithm>
#include<vector>
using namespace std;
int main(void)
{string str;while(getline(cin,str)){for (int i=0; i<str.size(); i++){if(str[i]=='5')str[i]=' ';}int t;	vector<int>list;istringstream sin(str);while(sin>>t){list.push_back(t);}sort(list.begin(),list.end());for (vector<int>::iterator it=list.begin(); it!=list.end(); it++){if(it!=list.end()-1)cout<<*it<<' ';elsecout<<*it<<endl;}}return 0;
}

转载于:https://www.cnblogs.com/Blackops/p/5255243.html

相关文章:

AssertValid函数学习

转自http://tsitao.blog.163.com/blog/static/29795822006914105840496/ VC的调试中&#xff0c;AssertValid和Dump函数的应用 CObject::AssertValid 成员函数提供对对象内部状态的运行时检查。虽然从 CObject 派生类时不须要重写 AssertValid&#xff0c;但能够通过重写使您的…

数值分析第一次作业-牛顿迭代法求解二元非线性方程组

1、问题 求解如下方程组: 2、算法 3、代码实现 # *coding:utf-8 * import math delta 5e-6 ;eps 1e-6 x0 1;y0 1 er 1;k 0 def z(x,y):return math.sin(x*y)*math.exp(-0.1*(x**2y**2x*y2*x)) def f(x,y):return y*math.cos(x*y)-0.1*(2*xy2)*math.sin(x*y) def g(x,y…

Maya制作风格化的女性跑步动画学习教程

时长:2h 11m |视频:. MP4 1280720&#xff0c;30 fps(r) |音频:AAC&#xff0c;48000 Hz&#xff0c;2ch |大小解压后:1.56 GB 含参考素材 流派:电子学习|语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; 通过在Autodesk Maya中提供专业外观…

安卓手机抓包实战

最近因为要做一个项目&#xff0c;所以需要对手机给家电发送的请求进行抓取&#xff0c;于是上网找了许多教程&#xff0c;但都不怎么理想&#xff0c;最终经过两个晚上的艰辛奋斗&#xff0c;终于让我找到了方法抓取到了手机发送的请求&#xff0c;写一篇博客记录一下这个过程…

导入drupal中文语言包

http://lugir.com/book/export/html/399转载于:https://www.cnblogs.com/qinqiu/p/5174062.html

JavaScript引擎大战:Google提出StrongMode和SoundScript议案,增强V8性能

JavaScript 引擎性能大战硝烟迷漫&#xff0c;Chrome V8 引擎团队宣布了一个新的计划&#xff0c;在这个计划里他们介绍了两个新的虚拟机概念&#xff1a;强化模式&#xff08;StrongMode&#xff09;和强化脚本&#xff08;StrongScript&#xff09;。\\强化模式是 ES5 严格模…

数值分析第三次作业-常微分方程的数值解法

一、欧拉方法 二、修正的欧拉方法 2.1.梯形公式 将问题&#xff08;*&#xff09;的解表成积分形式&#xff0c;用数值积分方法离散化。例如&#xff0c;对微分方程

SYNCHRO 4D可视化调度学习教程 SYNCHRO 4D: Visual Scheduling

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 技能水平:初级|流派:电子学习|语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:3h 14m |大小:1.36 GB 含课程练习文件 课程获取&#xff1a;SYNCHR…

SpringBoot复习:4(@ImportResource)

ImportResource注解 作用&#xff1a;这个注解可以用来导入Spring的配置文件&#xff08;bean.xml文件&#xff09;。 适用场景&#xff1a; 可以试想一下这样一个场景&#xff0c;老板要你将原来的Spring项目改成SpringBoot项目&#xff0c;原项目底下有一大堆的bean.xml文件…

YTU 2723: 默认参数--求圆的面积

2723: 默认参数--求圆的面积 时间限制: 1 Sec 内存限制: 128 MB提交: 206 解决: 150题目描述 根据半径r求圆的面积, 如果不指定小数位数,输出结果默认保留两位小数。 部分代码已给定如下&#xff0c;只需要提交缺失的代码。 #include <iostream> #include <iomanip&…

jmeter内存溢出处理方式记录

方法一&#xff1a; 使用jmeter进行压力测试时 遇到一段时间后报内存溢出outfmenmory错误&#xff0c;导致jmeter卡死了&#xff0c;先尝试在jmeter.bat中增加了JVM_ARGS"- Xmx2048m -Xms2048m -Xmn256m -XX:PermSize128m -Xss256k"&#xff0c;但结果运行时间增加了…

支持向量机学习笔记1

1、支持向量机是一种二类分类模型。它的模型基本定义是特征空间上间隔最大的线性分类器。 2、核函数的引入&#xff0c;使得支持向量机可以进行非线性分类。 3、支持向量机也可以完成多类别分类&#xff08;将在后面介绍&#xff09; 4、支持向量机的学习策略为间隔最大化&a…

C4D入门学习教程

MP4 |视频:AVC&#xff0c;1280720 30 fps |音频:AAC&#xff0c;48 KHz&#xff0c;2 Ch |时长:2h 12m 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小解压后:560M C4D是一个有抱负的运动图形艺术家和设计师的重要工具。借助C4D&#…

SpringBoot复习:5(配置绑定)

配置绑定 在SpringBoot中我们如何读取到properties文件中的内容&#xff0c;并且把它封装到JavaBean中&#xff0c;以供随时使用呢&#xff1f; 我们可以使用以下两种方式来实现。 方法一&#xff1a;ConfigurationPropertiesComponent 第一种方法&#xff0c;我们可以使用C…

是男人就下100层【第五层】——2048游戏从源代码到公布市场

上一篇《是男人就下100层【第五层】——换肤版2048游戏》中阳光小强对2048游戏用自己的方式进行了实现&#xff0c;并分享了核心源码&#xff0c;这一篇阳光小强打算将该项目的全部源码公开并结合这个实例在这篇文章中介绍一下怎样加入广告和实现分享功能。终于执行效果例如以下…

zabbix菜单出现问号乱码问题

zabbix菜单出现问号乱码问题 安装后zabbix&#xff0c;设置成中文后&#xff0c;发现菜单出现了好多的乱码&#xff0c;google之后才知道这与zabbix数据库字符集设置有关。查看当前的默认字符集&#xff1a;mysql> show create database zabbix;---------------------------…

什么是Closed-form solution?

最近看论文&#xff0c;讨论微分方程解时遇到closed-form solution概念&#xff0c;上网检索&#xff0c;找到一个较浅显易懂的解释如下。 与工学院所学的微分方程不同的是&#xff0c;工学院的学生一般都是学如何把特定的微分方程的解用基本函数&#xff08;例如多项式、三角函…

c4d中的3D插图制作视频教程 Skillshare – 3D Illustration in Cinema 4D

技能分享——C4D的3D插图 教程大小解压后&#xff1a;1.33G 1920X1080 mp4 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; C4D是众所周知的平易近人的软件&#xff0c;也是进入3D艺术梦幻世界的理想门户。 加入马特的这个课程&#xff0c…

SpringSecurity学习:1(第一个SpringSecurity项目)

此博客是记录自己学习过程的记录 第一个SpringSecurity项目 导入依赖 详细的步骤我就不多说了&#xff0c;使用IDEA创建过SpringBoot项目的人一般都能看懂。 这一步我们可以在使用IDEA创建SpringBoot项目的时候完成&#xff0c;如下图&#xff1a; 在创建SpringBoot项目时&a…

使用Struts2标签遍历集合

遍历Map<String,Object>遍历Map<Stirng,List<Student>>遍历List<Map<String,Student>>Student.java package action;public class Student {private Long sid;private String name;public Student() {// TODO Auto-generated constructor stub}p…

TortoiseGit的使用详解

然后A修改了,A想上传代码,发现冲突了,原因是A依靠的是1版本的代码进行了修改,而此时远程仓库的代码是2版本,这样当然会产生冲突。当从远程仓库拉取代码时,代码会直接拉取到工作区,然后我们要添加、提交,然后才可以把拉取的代码放入本地仓库,本地仓库的代码可以通过推送,推送到远程仓库,这是一个大循环。解决冲突的办法就是,先把远程仓库的2版本的代码进行拉取,然后TortoiseGit会列出冲突的文件代码,然后自己手动解决、选择自己需要的代码,右键选择解决冲突,最后再重新上传就可以了。点击拉取,可以下载文件。

Java的System.out.println()深入解析理解

语句来输出信息,从开始学习Java就知道用它来输出Hello World,没有深究其实现原理,现在查阅文档、源代码后记录一下。方法进行字符流输出,只是整个过程封装了许多方法来支持各种类型的变量、以及自动初始化等,使得用户能够方便快捷在控制台打印数据。变量进行了初始化,让它指向控制台,于是就可以直接使用了。的,因此即使程序中没有手动导入,也可访问到。由C/C++实现,这里只是一个接口,在。修饰的,根据Java语法,它只能调用。方法重载,因此可输出多种类型的数据。接着看,在构造方法中,先是初始化了。

第一次作业,针对软件工程这门课程提出五个疑问。

1、如果对于不爱好计算机的同学来说学习软件工程的意义大吗&#xff0c;有多大&#xff1f; 2、软件工程的知识面那么广&#xff0c;如果才能系统有效的将它学好&#xff1f; 3、软建工程这门课是否有点纸上谈兵了&#xff1f; 4、软件工程是衣门很枯燥的学科&#xff0c;我们怎…

matlab2013 a/b 找不到vs2013 c++ 编译器 解决方案

64-bit Matlab 解压附件后&#xff0c;放到 C:\Program Files\MATLAB\R2013a\bin\win64\mexopts32-bit Matlab 解压附件后&#xff0c;放到 C:\Program Files\MATLAB\R2013a\bin\win32\mexopts点我下载附件 原文出处&#xff1a;http://kaba.hilvi.org/homepage/blog/vs_201…

C4D运动图形基本训练学习教程

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 技能水平:初级|语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |持续时间:3h 1m |大小解压后:1.7 GB 含课程练习文件 C4D继续作为3D艺术家的行业标准解决…

linux快捷上传下载文件

借助securtCRT&#xff0c;使用linux命令sz可以很方便的将服务器上的文件下载到本地&#xff0c;使用rz命令则是把本地文件上传到服务器 其中&#xff0c;对于sz和rz的理解与记忆我用了如下的方法&#xff08;因为很多时候容易搞混&#xff09;&#xff1a;sz中的s意为send&…

Java多线程复习:3(在操作系统中查看和杀死进程线程)

此博客是记录自己学习过程的记录&#xff0c;仅做参考 Windows下查看和杀死进程线程 查看所有进程 tasklist 查看指定关键字的进程 tasklist | findstr 关键字 Java程序运行的时候都是通过java.exe来运行的&#xff0c;所以想要查看Java程序运行的详情的话必须使用jdk自带的命…

Adt 配置注释模板

点击Window->Preferences->Java->Code Style->Code Templates,如下图所示&#xff1a; 选中&#xff0c;点击右侧的Edit进行编辑。

解决Attempt to execute SCRIPT mexLasso as a function

Attempt to execute SCRIPT mexLasso as a function: Error in selectFeature (line 22)w mexLasso(L, A, param);Error in demo (line 62)P selectFeature(AA_pos, AA_neg, paramSR); % feature selection 遇到这个问题一般是因为名为mexLasso的文件与…

灰猩猩拓扑速成班

Greyscalegorilla Plus Topology Crash Course 灰猩猩附加拓扑速成班 大小解压后&#xff1a;5.62G 1920X1080 时长&#xff1a;1小时16分 语言&#xff1a;英语中英文字幕&#xff08;机译&#xff09; 信息: 这个拓扑速成课程正如其名。它将为您提供坚实的拓扑基础&#xf…