HDU 1106 排序 字符串模拟
来源:互联网 发布:apache ant zip maven 编辑:程序博客网 时间:2024/05/17 04:21
Problem Description
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
Sample Input
0051231232050775
Sample Output
0 77 12312320代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int cmp(int a,int b){ return a<b;}int main(){ int i,j,k; char q[1005]; __int64 w[1005]; int t; memset(q,'\0',sizeof(q)); while(scanf("%s",q)!=EOF) { t=0; memset(w,0,sizeof(w)); j=0; //j用来判断有多少个数字 for(i=0; i<strlen(q); i++) { if(q[i]=='5'&&i==0) //当前第一个为5时也不能加1 continue; if(q[i]=='5'&&q[i+1]=='5') //同上 continue; if(q[i]=='5'&&q[i+1]!='5') { if(t==1) //当前面没有出现(正常)数字时不能 +; j++; if(i==strlen(q)-1) //最后一个是5时不能加1 j--; continue; } w[j]=w[j]*10+q[i]-'0'; t=1; } sort(w,w+j+1,cmp); //排序 for(k=0; k<=j; k++) { if(k==j) printf("%I64d\n",w[k]); else printf("%I64d ",w[k]); } memset(q,'\0',sizeof(q)); } return 0;}
这题应该分到水题一类
但却花了很长时间 还是通过看别人的数据才完成的。。
真的很不应该
值得反思
提供几组数据:输入:1235125051300512312320507750051231232050775005123123205077500512312320507755551234515555555150输出:0 12 13 1230 77 123123200 77 123123200 77 123123200 77 1231232012340 1 1
0 0
- HDU 1106 排序 字符串模拟
- 字符串 HDU 1106 排序
- HDU 1106 排序 模拟题
- HDU 1106 排序(简单分类模拟)
- hdu 1106 排序(水题,字符串)
- HDU 1106 排序 其实是字符串分割
- hdu 1106 排序(字符串的分割)
- HDU 1106 排序(切割字符串)
- hdu 1004 字符串排序
- hdu 2054 (典型字符串模拟)
- hdu 4039 字符串模拟题
- YT15-HDU-字符串的模拟
- HDU-3787(字符串模拟)
- 字符串排序(冒泡排序法模拟)
- hdu 3789 奥运排序问题 模拟
- [HDU 4119]Isabella's Message[字符串模拟]
- HDU 1237 简单计算器 && 字符串模拟四则运算
- hdu 1212 Big Number(字符串:模拟)
- ThreadLocal深入理解
- 前30个免费云存储服务
- BAT 批处理脚本 教程
- 个就每年投入没看到他一人就看他家的大门,等同于
- 退出MFC应用程序的方法集
- HDU 1106 排序 字符串模拟
- Storm on YARN
- POJ 3311 Hie with the Pie (状压DP)
- android在如果绘制自定义的bitmap,然后返回给ImageView
- Android SharaedPreferences 记住用户名密码
- 字符串-07. 说反话-加强版 (20)
- Windows服务创建及安装
- Java native
- JAVA 环境设置