河南第五届省赛 A奇怪的排序 -- (sort+STL)
2016-05-30 21:42
423 查看
1473: 奇怪的排序
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 104 Solved: 64
SubmitStatusWeb
Board
Description
最近,Dr. Kong 新设计一个机器人Bill。这台机器人很聪明,会做许多事情。惟独对自然数的理解与人类不一样,它是从右往左读数。比如,它看到123时,会理解成321。让它比较23与15哪一个大,它说15大。原因是它的大脑会以为是32与51在进行比较。再比如让它比较29与30,它说29大。给定Bill两个自然数A和B,让它将 [A,B] 区间中的所有数按从小到大排序出来。你会认为它如何排序?
Input
第一行: N 表示有多少组测试数据。接下来有N行,每一行有两个正整数A B 表示待排序元素的区间范围。
2<=N<=5 1<=A<=B<=200000 B-A<=50。
Output
对于每一行测试数据,输出一行,为所有排好序的元素,元素之间有一个空格。Sample Input
28 1522 39Sample Output
10 8 9 11 12 13 14 1530 31 22 32 23 33 24 34 25 35 26 36 27 37 28 38 29 39#include <stdio.h> #include <string.h> #include <string> #include <algorithm> using namespace std; struct point{ int a,b; }p[100]; bool cmp(struct point x,struct point y){ return x.b<y.b; } char s[1002]; int main(){ int t,l,r,i,j; scanf("%d",&t); while(t--){ scanf("%d %d",&l,&r); int l1=l; for(i=0;i<r-l+1;i++){ p[i].a=l1; sprintf(s,"%d",l1); string ss=s; reverse(ss.begin(),ss.end()); for(j=0;j<ss.length();j++) s[j]=ss[j]; p[i].b=atoi(s); l1++; memset(s,0,sizeof(s)); } sort(p,p+r-l+1,cmp); for(i=0;i<r-l;i++){ printf("%d ",p[i].a); } printf("%d\n",p[i].a); } return 0; }
相关文章推荐
- Git开发系列(一):基础
- MongoDB学习笔记
- 设计模式23篇:策略模式
- HDU 4746 Mophues【莫比乌斯反演】
- .attr()与.removeAttr()
- HDU 4746 Mophues【莫比乌斯反演】
- 23种设计模式(12):策略模式
- HDU 4746 Mophues【莫比乌斯反演】
- Oracle查询被锁的表及进程的方法
- 深入学习java并发编程:ReentrantLock
- LeetCode 65 Valid Number
- Apache Shiro
- linux下的dhcp服务器配置总结
- 鸿海为何喜欢收留贵族?
- 【MyBatis框架点滴】——MyBatis开发DAO的两种方法:原始DAO开发方法和Mapper代理方法
- POJ 1631 Bridging signals(最长上升子序列 nlgn做法)
- 动态规划—Problem G
- Spring 实现IOC容器(二)
- vim快捷键
- C语言中宏#define的用法