NYOJ 1057 寻找最大数(三)

原创 2016年06月01日 16:48:10

寻找最大数(三)

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。

求这个新的整数的最大值是多少。

输入
多组测试数据。
每组测试数据占一行,每行有两个数N和K (1 ≤ N≤ 10^18; 0 ≤ K ≤ 100).
输出
每组测试数据的输出占一行,输出移动后得到的新的整数的最大值。
样例输入
1990 1
100 0
9090000078001234 6
样例输出
9190
100
9907000008001234
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 100 + 10;

char str[20];
int k;
int main()
{
    while (scanf("%s%d", str, &k) != EOF){
        int len = strlen(str);
        int t;
        for (int i = 0; i < len && k != 0; i++){
            t = i;
            for (int j = i + 1; j <= i + k && j < len; j++){   //贪心,从i+1到i+k寻找最大的数 并记录下序号 
                if (str[j] > str[t])
                    t = j;
            }
            for (int j = t; j > i; j--){
                swap(str[j], str[j - 1]);
            }
            k -= t - i;
        }
        printf("%s\n", str);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

寻找最大数(二)

寻找最大数(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给你一个数字n(可能有前缀0)。 要求从高位到低位,进行 进栈出栈...
  • qq_16997551
  • qq_16997551
  • 2015年07月24日 21:01
  • 490

NYOJ 1057 寻找最大数(三)(关于贪心算法的认识)

以前做贪心题目都第一步对数据进行从大到小的排序,大部分贪心题目的的处理方法也是这样。但是NYOJ的1057题,在解题中 并不需要排序,一时间都没有意识到是贪心题。在看了讨论区之后意识到要用贪心的思想...
  • zwj1452267376
  • zwj1452267376
  • 2015年01月13日 16:23
  • 953

NYOJ1057:寻找最大数(三)

寻找最大数(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。 求这个...
  • junior19
  • junior19
  • 2017年01月04日 22:31
  • 325

NYOJ 1057 寻找最大数(三)

题目1057 题目信息 运行结果 本题排行 讨论区 寻找最大数(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2...
  • a2459956664
  • a2459956664
  • 2016年06月01日 16:48
  • 355

寻找最大数(三)

寻找最大数(三) 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。 ...
  • CTTACM
  • CTTACM
  • 2014年12月04日 17:33
  • 434

nyoj 1057寻找最大数(三)

寻找最大数(三) 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。求这个新的整数...
  • GRCherry
  • GRCherry
  • 2016年10月17日 20:25
  • 111

nyoj 1057 寻找最大数(三)

描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。 求这个新的整数的最大值是多少。 输入多组测试数据。 每组测试数据占一行,每行有...
  • hpugym
  • hpugym
  • 2014年11月20日 21:39
  • 265

NYOJ 1057 寻找最大数(三)

寻找最大数(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。 求这...
  • liu940204
  • liu940204
  • 2015年07月24日 21:19
  • 654

寻找最大数(三)

描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。 求这个新的整数的最大值是多少。 输入多组测试数据。 每组测试数据占一行,每行有...
  • qq_36238595
  • qq_36238595
  • 2017年01月29日 20:46
  • 119

nyoj 1057 寻找最大数(三)

寻找最大数(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个...
  • zhangxiaoxiang123
  • zhangxiaoxiang123
  • 2015年11月04日 11:32
  • 89
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NYOJ 1057 寻找最大数(三)
举报原因:
原因补充:

(最多只允许输入30个字)