HDU 1106 排序

2023-11-11

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

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

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

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
Sample Input
0051231232050775
Sample Output
0 77 12312320
解题思路:
思路也很简单就是把5当成空格把字符串分开,再用sort排序从小到大排一下序。
就是注意以下这几种类型的情况

5553226 //开头有5的
1555556 //中间有多个5的
125 //5结尾的
55552345891 //不是5结尾的
1234 //没有5的

12345531232 //不是5结尾的

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; 
char  a[10000];
int b[10000];
int main()
{
	while(scanf("%s",a)!=EOF)
	{
		memset(b,0,sizeof(b));
		int i,j,k=1;
		for(i=0,j=0;i<strlen(a);i++)
		{
			if(a[i]=='5')
			{
				if(!k)
				{
					j++;
					k=1; 
				}
				
			}
			else
			{
				b[j]=b[j]*10+(a[i]-'0');
				k=0;
			}
			
			
		}
		if(!k)
		{
			j++;
		}
		sort(b,b+j);
		printf("%d",b[0]);
		for(i=1;i<j;i++)
		{
			printf(" %d",b[i]);
		}
		printf("\n");
	}
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HDU 1106 排序 的相关文章

随机推荐

  • 避免同一个文件被include多次

    在C C 中 为了避免同一个文件被include多次 有两种方式 一种是 ifndef方式 一种是 pragma once方式 在头文件的最开始加入 ifndef ifndef的是方式是受C C 语言标准支持 ifndef方式依赖于宏名不能
  • TS 的类

    一 基础语法 class Person constructor 二 类的属性 1 属性的初始化 在 TS 中 我们如果在要 constructor 中定义一个属性 必须先在 constructor 之前对数据进行初始化 class Pers
  • css禁止滑动页面_弹出层完美禁止页面滚动

    Html Css Js 弹出层去除背景滚动 原生版 使用js构建的弹出层类 使用new的方式实例化 传入的参数为 el 触发元素 click触发弹出层 content 弹出层内容 time 0 显示持续时间 使用 passive 事件和ov
  • mysql一对多关联查询语句_mysql 一对多的时分 关联查询 筛选多方

    mysql 一对多的时候 关联查询 筛选多方 users 表和 auth token log表是一对多 现在是把user的信息找出来 关联上一些 auth token log表的数据 因为a表是多的一方 要多他的数据进行一些条件匹配 这个s
  • 数字化时代-7:从三大产业看赚钱的立足点

    摘要 通过观察不同产业的发展特点 发现社会发展的趋势 农业社会 工业社会 信息社会 虚拟社会演进 物质产品生产 精神产品的生产 把握大势 让猪遇到风飞起来 违背大势 飞机也会坠毁 何为产业 主要是指在经济社会中 能够生产某种类型产品的部门的
  • 出门问问把AIGC看得很透彻

    图片来源 Pixabay 李志飞将AIGC看得很透 他可能是行业里 最不着急 的人 数科星球原创 作者丨苑晶 编辑丨大兔 几乎每一个行业 从业者都是国外的2倍 利润又是同行的1 5 让中国的创业难度提升了10倍 李志飞的这句话适用于广大行业
  • Echarts 各种点击事件监听

    目录 一 鼠标事件 1 1 左击 1 2 双击 1 3 右击 1 4 右键双击 1 5 中轴滚动 二 时间轴 2 1 时间轴监听 三 拖动 3 1 拖动事件 一 鼠标事件 1 1 左击 chart on click function par
  • 乘积尾零(蓝桥杯省赛2018C/C++A组第三题)

    题目 如下的 10 行数据 每行有 10 个整数 请你求出它们的乘积的末尾有多少个零 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3
  • 图像分类篇:实现pytorch官网demo(LeNet)

    跟着b站up主学习整理 2 1 pytorch官方demo Lenet 哔哩哔哩 bilibili 目录 一 CNN的雏形 LeNet网络结构 二 官网demo文件 三 代码实现 1 model py 2 train py 3 predic
  • 最酷炫的Python进度条使用教程

    原文链接 https mp weixin qq com s gRpNq15bX4OgpiY5NNO OQ 效果展示 基础使用 导入 alive progress 库 from alive progress import alive bar
  • overleaf入门教程

    overleaf入门教程 中文学习文档 供自己学习记录 1 编译中文 输入内容为中文时 有两种方式 需要将 documentclass article 改为 documentclass ctexart 或者引用宏包 usepaceage c
  • 获取每个年龄段的人数

  • Android 实现无需权限的悬浮球效果,可适配至Android 10

    前言 最近闲来无事 突然想起搞一下悬浮球 之前的项目的悬浮球一直都需要授权 android6 0以后需要手动授权 悬浮球使用时就非常不便 这里为大家带来一种无需权限的悬浮球实现方式 无需权限 无需权限 功能 自动贴边 显示红点 隐藏红点 自
  • 微信小程序—tabBar导航栏

    1 什么是tabBar tabBar是移动端应用常见的页面效果 用于实现多页面的快速切换 小程序中常分为 底部 tabBar 顶部 tabBar 2 tabBar 节点的配置项 position tabBar的位置 仅支持bottom to
  • python操作mysql数据库详解

    使用Python操作MySQL数据库 MySQL是一种关系型数据库管理系统 它可以用来存储和管理大量的数据 之前介绍了大部分主流数据库 今天将介绍如何使用Python来操作MySQL数据库 安装MySQL 首先 我们需要安装MySQL服务器
  • 测试数据埋点

    简单理解下 埋点其实就是在程序中的某个位置加一个标记 当用户触发到某个行为的时候 就采集一下数据 然后将数据上报到某个位置进行存储 埋点的最终目的是收集到相关的数据 用于给运营人员提供数据支撑等 什么是埋点测试 埋点也分前端埋点和后端埋 前
  • LR(1)算法

    构造出LR 1 项的规范族 先从起始状态设为CC0 然后对于每一个语法符号构造出下一个CCX 意味着吸收了这个语法符号后可能到达的状态 运用不动点算法不断迭代 构造出CCI 意思是如果输入某个符号 可能到达的状态 吸收算法更精妙 即将状态与
  • 织梦DedeCms文章标题字数限制的解决方法

    织梦系统默认的文章标题字数限制是60 也就是30个汉字 不够用怎么办 很简单 只需两步搞定织梦DedeCms文章标题字数的限制 1 在后台选择系统 gt 其它选项 gt 文档标题最大长度改此参数后需要手工修改数据表修改为需要设置的标题最大长
  • 启动服务失败,Java HotSpot(TM) 64-Bit Server VM warning: error='Cannot allocate memory' (errno=12)

    反复启动 down了又起 没起成功down了又起 反复操作了三遍 应用服务 有多个netty服务端 的时候报这个错误 RealServer Start OK 2018 10 30 15 46 52 INFO 2018 10 30 15 46
  • HDU 1106 排序

    题目 输入一行数字 如果我们把这行数字中的 5 都看成空格 那么就得到一行用空格分割的若干非负整数 可能有些整数以 0 开头 这些头部的 0 应该被忽略掉 除非这个整数就是由若干个 0 组成的 这时这个整数就是0 你的任务是 对这些分割得到