尋找最大數(三)
時間限制: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是交換次數,則可以從i=0、1、2……開始依次查詢k範圍內的最大值,並與前乙個依次交換。
#include
#include
int main()
//若條件成立,則說明在查詢範圍內有比s[i]大的值
if(flag==1)
k=k-(t-i);//更新k的剩餘次數(以上交換已用掉t-i次)}}
printf("%s\n",s);
}return
0;}
nyoj 1057 尋找最大數(三)
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給出乙個整數n,每次可以移動2個相鄰數字上的數字,最多移動k次,得到乙個新的整數。求這個新的整數的最大值是多少。輸入 多組測試資料。每組測試資料佔一行,每行有兩個數n和k 1 n 10 18 0 k 100 輸出每組測試資料的輸...
NYOJ 1057 尋找最大數(三)
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給出乙個整數n,每次可以移動2個相鄰數字上的數字,最多移動k次,得到乙個新的整數。求這個新的整數的最大值是多少。輸入 多組測試資料。每組測試資料佔一行,每行有兩個數n和k 1 n 10 18 0 k 100 輸出每組測試資料的輸...
NYOJ 1057 尋找最大數(三)
描述 給出乙個整數n,每次可以移動2個相鄰數字上的數字,最多移動k次,得到乙個新的整數。求這個新的整數的最大值是多少。輸入 多組測試資料。每組測試資料佔一行,每行有兩個數n和k 1 n 10 18 0 k 100 輸出每組測試資料的輸出佔一行,輸出移動後得到的新的整數的最大值。樣例輸入 1990 1...