ZOJ:P1131 KKT数组502近似排序

KKT数组502近似排序

描述

写一个程序,从输入文件读入一对正整数 x 和 y ,将这两个数之间(包括这两个数本身)的所有数按下述特别规则排序后输出。该特别规则是:按两数倒过来的值进行比较决定其大小,如 30 倒过来为 3 ,29 倒过来为 92 ,则 29 大于 30 。

输入

一行两个正整数 x 和 y ,用一个空格隔开。

输出

包括 y-x+1 行,每行一个正整数,按两数倒过来的值进行比较决定其大小,然后由小到大输出。

输入样例 1 

22 39

输出样例 1

30
31
22
32
23
33
24
34
25
35
26
36
27
37
28
38
29
39

提示

数据范围:0 < x <= y < 10^9 ,y - x <= 100。

代码:

#include
using namespace std;
int n,m,a[110],b[110];
int dao(int n){
    int ans=0;
    while(n>0){
        ans=n%10+ans*10;
        n/=10;
    }
    return ans;
}
int main(){
    scanf("%d%d",&n,&m);
    for(int i=n;i<=m;i++)a[i-n+1]=i;
    for(int i=n;i<=m;i++){
        b[i-n+1]=dao(a[i-n+1]);
    }
    for(int i=n;i<=m;i++){
        for(int j=n;j
            if(b[j-n+1]>b[j-n+1+1]){
                swap(b[j-n+1],b[j-n+1+1]);
                swap(a[j-n+1],a[j-n+1+1]);
            }
        }
    }
    for(int i=n;i<=m;i++)printf("%d\n",a[i-n+1]);
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部