NC218881. 签不上到?做这题就对了
描述
输入描述
第一行输入一个T,代表测试的数据个数(T<=1000)接下来T行,每行输入一个整数a (0<a<=1e8)
输出描述
对于输入的T组样例,每一组输出一行你的结果数
示例1
输入:
1 1234
输出:
4231
说明:
显然交换1,4位置上的数字会使结果数最大Python3(3.9) 解法, 执行用时: 34ms, 内存消耗: 2760K, 提交时间: 2021-03-07 16:43:17
t = int(input()) while t != 0: t -= 1 s = input() xx = int(s) for i in range(len(s)): for j in range(i + 1, len(s)): x = list(s) k = x[i] x[i] = x[j] x[j] = k m = int(''.join(x)) xx = max(xx, m) print(xx)
C++(clang++11) 解法, 执行用时: 6ms, 内存消耗: 432K, 提交时间: 2021-03-26 18:17:36
#include <iostream> using namespace std; int main() { int n,i,j; string a,b,c; cin>>n; while (n--) { cin>>a; c=a; for (i=0;i<a.size();i++) { for (j=i+1;j<a.size();j++) { b=a; if (b[i]<b[j]) swap(b[i],b[j]); if(c<b) c=b; } } cout<<c<<endl; } }