题意:只能对相邻的两个数字进行交换,允许k次交换,输出交换能得到的最大的数。从最高位开始寻找最优,每次寻找能交换的步数里交换到的最大值进行交换。

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char num[];
int main() {
int k;
scanf("%s%d",num,&k);
int len=strlen(num);
for(int i=;i<len;i++) {
if(num[i]<'') {
char temp=num[i];
int flag=i;
for(int j=i+;j<len && j<=i+k;j++) { //找出num[i+1]~num[i+k]中最大的
if(num[j]>temp) {
temp=num[j];
flag=j;
}
}
if(flag!=i) {
for(int j=flag-;j>=i;j--) swap(num[j+],num[j]);
          k-=flag-i;
}
}
}
for(int i=;i<len;i++) printf("%c",num[i]);
printf("\n");
return ;
}

最新文章

  1. 实现tip浮层
  2. 【知乎网】Linux IO 多路复用 是什么意思?
  3. Modem常用概念
  4. WPFDispatcher示例
  5. BZOJ 3040: 最短路(road) ( 最短路 )
  6. NYOJ 914 Yougth的最大化
  7. Nlpir Parser智能语义分析系统文本新算法
  8. CCF-201412-2-Z字形扫描
  9. SSH框架之-hibernate 三种状态的转换
  10. Vue 读取Excel数据
  11. Confluence 6 下载和安装 Oracle thin 驱动
  12. P2577 [ZJOI2005]午餐 状压DP
  13. Java多线程-----单例模式在多线程中的使用用问题
  14. java.lang.OutOfMemoryError:GC overhead limit exceeded
  15. XML_CPP_libXml2_VC6_Code_ZC
  16. PCA (主成分分析)详解 (写给初学者) 结合matlab(转载)
  17. 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决方案
  18. OpenXml SDK 2.0 创建Word文档 添加页、段落、页眉和页脚
  19. 五、概念数据模型(CDM生成LDM,PDM和OOM)
  20. 设计模式之module模式及其改进

热门文章

  1. jmeter 参数值写入到指定的文件中[如获取token写入某文件为免登录备用]
  2. windows下编译boost for android
  3. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.4——更新新版本的Gradle
  4. 【BZOJ4716】假摔 二分+暴力
  5. 【BZOJ1812】[Ioi2005]riv 树形DP
  6. 《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?
  7. 关于webpack打包图片的路径问题
  8. Sql注入基础_mysql注入
  9. webpack安装和简单配置
  10. 接口测试工具 — jmeter(基本使用)