NYOJ---540奇怪的排序
奇怪的排序
- 描述
-
最近,Dr. Kong 新设计一个机器人Bill.这台机器人很聪明,会做许多事情。惟独对自然数的理解与人类不一样,它是从右往左读数.比如,它看到123时,会理解成321.让它比较23与15哪一个大,它说15大。原因是它的大脑会以为是32与51在进行比较.再比如让它比较29与30,它说29大.
给定Bill两个自然数A和B,让它将 [A,B] 区间中的所有数按从小到大排序出来。你会认为它如何排序?
- 输入
-
第一行: N表示有多少组测试数据. (2<=N<=5 )
接下来有N行,每一行有两个正整数A B表示待排序元素的区间范围. (1<=A<=B<=200000 B-A<=50) - 输出
- 对于每一行测试数据,输出一行,为所有排好序的元素,元素之间有一个空格.
- 样例输入
-
2 8 15 22 39
- 样例输出
-
10 8 9 11 12 13 14 15 30 31 22 32 23 33 24 34 25 35 26 36 27 37 28 38 29 39//先求出转换后的结果,在因排序元素交换时对应调换转换前的元素即可
//c#include <stdio.h> #include <string.h> #include <math.h> int reverse(int t) {int sum = 0,i,len;char s[6] = {'\0'};//注意初始化方式 sprintf(s,"%d",t);//整形转化为字符串,头文件为stdio.hlen = strlen(s);for(i=len-1;i>=0;i--){sum += (s[i] - '0')*(int)pow(10,i);} return sum; } void swap(int *c,int *d,int i,int j) {d[j] = d[i] - d[j] + (d[i] = d[j]);c[j] = c[i] - c[j] + (c[i] = c[j]); } int partition(int *c,int *d,int p,int r) {int i = p,j = r+1;int x = d[p];while(1){while(d[++i] < x && i < r);while(d[--j] > x);if(i >= j)//结束标志 break;swap(c,d,i,j);}swap(c,d,p,j);return j; } void QuickSort(int *c,int *d,int p,int r) {int q;if(p<r){q = partition(c,d,p,r);QuickSort(c,d,p,q-1);QuickSort(c,d,q+1,r);} } int main() {int N,i,j,a,b;int c[50],d[50];scanf("%d",&N); for(i=0;i<N;i++){scanf("%d%d",&a,&b);for(j=0;j <= b-a;j++){c[j] = j + a;d[j] = reverse(c[j]);}QuickSort(c,d,0,b-a);//d排序的同时,c对应排序 for(j=0;j<=b-a;j++)printf("%d ",c[j]);printf("\n");}return 0; }
//c++ ----leida #include <iostream> #include <algorithm> using namespace std; bool cmp(int a,int b) {int c,d;c = d = 0;while(a)//反转后的数 {c = 10*c + a%10;a /= 10;} while(b)//反转后的数 {d = 10*d + b%10;b /= 10;} return c < d;//升序排序 } int main() {int i,a,b,N;int c[51];cin >> N;while(N--){cin >> a >> b;for(i=0;i<=b-a;i++){c[i] = i + a;}sort(c,c+b-a+1,cmp);for(i=0;i<=b-a;i++)cout << c[i] << " ";cout << endl;}return 0; }
转载于:https://www.cnblogs.com/520xiuge/p/5345769.html
NYOJ---540奇怪的排序相关推荐
- 【ACM】nyoj_540_奇怪的排序_201308050951
奇怪的排序 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 最近,Dr. Kong 新设计一个机器人Bill.这台机器人很聪明,会做许多事情.惟独对自然数的理解与人类不一 ...
- NYOJ 496 巡回赛 拓扑排序
巡回赛 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 世界拳击协会(WBA)是历史最悠久的世界性拳击组织,孕育了众多的世界冠军,尤其是重量级,几乎造就了大家耳熟能详的所 ...
- NYOJ 8 一种排序
点击打开链接 一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长. ...
- nyoj 4 ASCII码排序(set,multiset)
ASCII码排序 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数 ...
- nyoj 题目283 对称排序
http://acm.nyist.net/JudgeOnline/problem.php?pid=283 对称排序 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 ...
- C库函数qsort七种使用方法示例
这篇文章是 一楼那个学长写的 C库函数qsort七种使用方法示例 七种qsort排序方法<本文中排序都是采用的从小到大排序> 一.对int类型数组排序 C++代码 int num[10 ...
- android textview背景透明度,Android TextView文字透明度和背景透明度设置
textview1.setTextColor(Color.argb(255, 0, 255, 0)); //文字透明度 控件设为半透明: 控件名.getBackground().setAlpha(in ...
- 国庆七天乐 Day5
今天做的是第五届河南省省赛,我挫到爆了,只出了三题,都是水题,个人赛垫底. 先总结一下,今天写最水的A题居然WA了两次,关键是调了半个小时,浪费了不少时间,也影响了心情.然后做的是同样水的 F题,还好 ...
- 对List.Sort的简单研究
最近一直忙着修改项目中的bug,特别是一些绑定的列表排序,因为是中途加入的,所以我一般不改变别人的存储过程或者类方法,只在需要的时候帮其排序一下,不过非常郁闷...... 为什么呢???存储过程用得是 ...
最新文章
- 非常恶俗地分享一首歌曲(童年·葫芦娃)
- win10下如何安装vb6.0sp6_Mac如何安装win10系统?Parallels Desktop 15 Mac安装win10系统教程...
- 一个下课的时间带你手写promise!
- Python爬虫(二十一)_Selenium与PhantomJS
- android输入自动补全,Android用户输入自动提示控件AutoCompleteTextView使用方法
- 2015 UESTC 数据结构专题N题 秋实大哥搞算数 表达式求值/栈
- Android中设置显示文本,TextView控件的使用(Android设置文本显示格式)
- 源码推荐:多图无缝滚动控件,多视图控制器间切换
- 信息安全快讯丨秋风乍起,微雨渐凉
- 什么是ColdFusion
- php粒子背景特效_12个精致炫酷的背景装饰特效库(分享)
- (01) Apache Felix 入门 - 01
- 进制转换 二进制,八进制,十进制,十六进制互转
- 微信小程序中图片压缩的最佳实现与封装
- eslint报错Parsing error: Unexpected token prettier/prettier
- 在mt6735中添加新的开机logo与开\关机动画
- 如何使用Python进行嵌入式开发?
- 物联网技术如何推进乡村振兴
- 存储型XSS原理讲解及实战实验
- Windows更新无法启动或关闭解决办法
热门文章
- 图像的连通域检测的堆栈算法
- “羊贵妃”没走“牛魔王”又来?牛肉价格屡创新高
- 【树莓派智能门锁】接线布局安装【3】
- 《The Corporate Startup》作者访谈
- [转]Visual Studio 项目类型 GUID 清单
- Strings.Replace 方法的注意事项
- linux下面使用飞书个人版预览doc
- 单机上多git平台多账户配置
- nginx.conf删除与否网页都能访问(nginx没有生效)的问题
- mysql-workbench中用select in对变量赋值