博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ-1057 寻找最大数(三)(贪心)
阅读量:6901 次
发布时间:2019-06-27

本文共 1135 字,大约阅读时间需要 3 分钟。

寻找最大数(三)

时间限制:
1000 ms  |  内存限制:65535 KB
难度:
2
 
描述

给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。

求这个新的整数的最大值是多少。

 
输入
多组测试数据。
每组测试数据占一行,每行有两个数N和K (1 ≤ N≤ 10^18; 0 ≤ K ≤ 100).
输出
每组测试数据的输出占一行,输出移动后得到的新的整数的最大值。
样例输入
1990 1100 09090000078001234 6
样例输出
91901009907000008001234 思路:把数N以字符串形式输入,从string[0]遍历到尾,每次读一个元素就在它后面times个数中选出最大数, 然后从最大数到当前读的string[i]逐个交换,再根据交换次数减少times的量。 代码:
1   2 #include 
3 #include
4 int main(void) 5 { 6 char string[25]; 7 int times; 8 while (scanf("%s %d", string, ×) != EOF) 9 {10 int i, j;11 int len = strlen(string);12 char temp;13 int max, index;14 for (i = 0; i
string[index])19 index = j;20 for (j = index; j > i; j--)21 {22 temp = string[j];23 string[j] = string[j - 1];24 string[j - 1] = temp;25 }26 times -= (index - i);27 }28 printf("%s\n", string);29 }30 return 0;31 }

 

 

转载于:https://www.cnblogs.com/ray-coding-in-rays/p/6225160.html

你可能感兴趣的文章
Mybatis 缓存系统源码解析
查看>>
20180825 上课截图
查看>>
深入解析Vue里函数的调用顺序介绍
查看>>
Ember.js 入门指南——model的关联关系处理
查看>>
Ubuntu Linux下使用搜狗浏览器加速代理
查看>>
Docker应用容器引擎介绍与搭建
查看>>
教你制作属于自己的CentOS 6.4一键自动化安装ISO镜像光盘
查看>>
线上 mysql 主库配置文档
查看>>
Java web部署目录结构和web.xml作用
查看>>
负载均衡DR(direct routing)模式
查看>>
Python中list的遍历
查看>>
ListView提供多选框功能
查看>>
Linux下查看内存等硬件信息
查看>>
mysql 登录权限
查看>>
ADO.NET操作数据库(删除)
查看>>
《Servlet学习笔记》Servlet 简介
查看>>
Java之内部类
查看>>
怎样使用python帮助手册
查看>>
Nginx配置文件nginx.conf中文详解
查看>>
我的友情链接
查看>>