尋找最大數

2021-07-28 07:51:57 字數 712 閱讀 3018

尋找最大數(三)

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:2

描述給出乙個整數n,每次可以移動2個相鄰數字上的數字,最多移動k次,得到乙個新的整數。

求這個新的整數的最大值是多少。

輸入多組測試資料。

每組測試資料佔一行,每行有兩個數n和k (1 ≤ n≤ 10^18; 0 ≤ k ≤ 100).

輸出每組測試資料的輸出佔一行,輸出移動後得到的新的整數的最大值。

樣例輸入

1990 1

100 0

9090000078001234 6

樣例輸出

9190

1009907000008001234

思路如下

即每次找出k+1個數中的最大值,然後把它依次與前面的數交換直道成為第乙個數,然後看看k-=t-i來更新k值 即移動次數減去

最大值原來的下標減去第乙個數的下標的差。知道k為0;

#include

#include

#include

#include

using namespace std;

char a[25],t,max1;

int k,i,aa,b,j;

int main()

if(max1!=a[i])

k-=b-i;//更新}}

printf("%s\n",a);}}

尋找最大數

描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n,m n可能是乙個很大的整數,但其位數不超過100位,並且保證資料...

尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...

尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...