安徽大学第九届大学生程序设计竞赛 网络预选赛 G
来源:互联网 发布:郑州网络作文大赛 编辑:程序博客网 时间:2024/04/30 14:43
G. 交换大法好
Time Limit: 1000 ms Memory Limit: 64 MB
Total Submission: 158 Submission Accepted: 31
Total Submission: 158 Submission Accepted: 31
Description
有一天,天上掉馅饼了。不过不是直接掉馅饼,是告诉你你将要得到的馅饼的数量a。聪明的你得到了一种魔法,可以在整数a中交换任意两个相邻的数字。而这种魔法,你最多只能使用k次。你使用魔法操作a,得到的最大的结果就是你最终获得的馅饼数量。
你最多可以获得的馅饼数量是多少呢?
你最多可以获得的馅饼数量是多少呢?
Input
第一行,一个数字n(1<=n<=60)。代表测试数据数量。
接下来n行,每行两个整数a和k(1<=a<=1,000,000,000; 0<=k<=100)。
接下来n行,每行两个整数a和k(1<=a<=1,000,000,000; 0<=k<=100)。
Output
输出n行,每行一个整数,代表你最多使用魔法k次,可以得到的最大的数字。
Sample Input
OriginalTransformed21990 11034 2
Sample Output
OriginalTransformed91903104
#include <iostream>#include <cstring>#include <cstdio>using namespace std;char a[15];int fun(int beg,int k){ int mmax = a[beg] - '0', j = beg, len = strlen(a); for(int i = beg; i <= min(len, beg + k); i++) { if(a[i] - '0' > mmax) {mmax = a[i] - '0'; j = i; } } return j;}int main(){ int t; scanf("%d", &t); while(t--) { int k, temp; int loc; scanf("%s", a); scanf("%d", &k); for(int i = 0; i <= strlen(a); i++) { loc = fun(i, k); k -= (loc - i); temp = a[loc]; for(int j = loc - 1; j >= i; j--) a[j + 1] = a[j]; a[i] = temp; if(k == 0) break; } printf("%s\n", a); } return 0;}
0 0
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 G
- 安徽大学第九届大学生程序设计竞赛 网络预选赛
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 A
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 B
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 C
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 D
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 F
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 H
- 安徽大学第九届大学生程序设计竞赛热身赛
- 中南大学第九届大学生程序设计竞赛网络预选赛
- 外卖的撕‘哔’大战 Contest2074 - 中南大学第九届大学生程序设计竞赛网络预选赛
- “正直角三角形” Contest2074 - 中南大学第九届大学生程序设计竞赛网络预选赛
- 中南大学第十一届大学生程序设计竞赛网络预选赛总结
- 湖南省第九届大学生计算机程序设计竞赛 G
- ACM/ICPC黑龙江省第四届大学生程序设计竞赛网络预选赛有感
- 第九届广东省大学生程序设计竞赛排名
- 湖南省第九届大学生程序设计竞赛
- 湖南省第九届大学生计算机程序设计竞赛
- 文件的简单读写
- poj 2029 Get Many Persimmon Trees 二维树状数组
- Converity代码静态安全检测
- MongoDB去除重复数据
- Mac系统安装python版Xgboost
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 G
- C++中的floor()函数
- C++之重载数组下标[]与圆括号()运算符的方法
- Markdown编辑器语法
- 5-3 出租 (20分)
- laravel框架相关总结链接
- Java 的Callable、Future和FutureTask
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 H
- 财务预算凭证FMBB的BAPI及错误处理