【CodeForces - 508B】Anton and currency you all know (思维贪心)

题干:

Berland, 2016. The exchange rate of currency you all know against the burle has increased so much that to simplify the calculations, its fractional part was neglected and the exchange rate is now assumed to be an integer.

Reliable sources have informed the financier Anton of some information about the exchange rate of currency you all know against the burle for tomorrow. Now Anton knows that tomorrow the exchange rate will be an even number, which can be obtained from the present rate by swapping exactly two distinct digits in it. Of all the possible values that meet these conditions, the exchange rate for tomorrow will be the maximum possible. It is guaranteed that today the exchange rate is an oddpositive integer n. Help Anton to determine the exchange rate of currency you all know for tomorrow!

Input

The first line contains an odd positive integer n — the exchange rate of currency you all know for today. The length of number n's representation is within range from 2 to 105, inclusive. The representation of n doesn't contain any leading zeroes.

Output

If the information about tomorrow's exchange rate is inconsistent, that is, there is no integer that meets the condition, print  - 1.

Otherwise, print the exchange rate of currency you all know against the burle for tomorrow. This should be the maximum possible number of those that are even and that are obtained from today's exchange rate by swapping exactly two digits. Exchange rate representation should not contain leading zeroes.

Examples

Input

527

Output

572

Input

4573

Output

3574

Input

1357997531

Output

-1

题目大意:

给出一个长度小于10^5的奇数,交换其中两位,使其变成一个偶数,若有多种做法输出交换后数字最大的。若不能构造出一个偶数,输出-1。

解题报告:

  直接贪心,如果没有偶数就输出-1,否则肯定有解。如果有大于s[len]的偶数那就从前面往后找第一个(因为越靠前越好),否则就从后面往前面找第一个,交换就完事了。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
char s[MAX];
int main()
{cin>>(s+1);int len = strlen(s+1);int flag = 0,ok=0;int tar = s[len]-'0';for(int i = 1; i<=len; i++) {if((s[i]-'0')%2==0) flag = 1;}if(flag == 0) {puts("-1");return 0 ;}for(int i = 1; i<=len; i++) {int cur = s[i]-'0';if(cur%2==0 && tar > cur) {swap(s[i],s[len]);ok=1;break;}}if(ok==1) {printf("%s",s+1);return 0 ;}for(int i = len; i>=1; i--) {int cur = s[i]-'0';if(cur%2==0 /*&& tar<cur*/) {swap(s[i],s[len]);break;}}printf("%s",s+1);return 0 ;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux yum自动挂载_Linux运维——升级系统相关漏洞

说明&#xff1a;最近公司漏扫部门扫出来一大批的漏洞&#xff0c;包括系统层、中间件层、以及应用层漏洞&#xff0c;今天先给大家分享下Linux系统层漏洞修复方案(OpenSSL、ssh、NTP等)&#xff0c;请看下面&#xff01;一、上传升级包&#xff1a;二、配置yum源&#xff1a;本…

华为鸿蒙beta版发布会,华为HarmonyOS手机体验鸿蒙版微博:仅9.1MB 附华为鸿蒙发布会直播入口...

华为 HarmonyOS 手机体验鸿蒙版微博&#xff0c;只有 9.1MB&#xff0c;完全无广告、无各种附加&#xff0c;比微博国际版还要干净&#xff0c;如果你的手机升级了鸿蒙系统&#xff0c;不妨尝试尝试。总体来说&#xff0c;这是鸿蒙版微博 1.0 &#xff0c;其标识是含 HarmonyOS…

【CodeForces - 501C】Misha and Forest (思维构造,树,数学异或)

题干&#xff1a; Lets define a forest as a non-directed acyclic graph (also without loops and parallel edges). One day Misha played with the forest consisting of n vertices. For each vertex v from 0 to n - 1 he wrote down two integers, degreev and sv, w…

redisson的锁的类型_你知道吗?大家都在使用Redisson实现分布式锁了!!

Redisson框架十分强大&#xff0c;基于Redisson框架可以实现几乎你能想到的所有类型的分布式锁。这里&#xff0c;我就列举几个类型的分布式锁&#xff0c;并各自给出一个示例程序来加深大家的理解。有关分布式锁的原理细节&#xff0c;后续专门撸一篇文章咱们慢慢聊&#xff0…

html动态散花代码,IOS实现签到特效(散花效果)的实例代码

本文讲述了IOS实现签到特效(散花效果)实例代码。分享给大家供大家参考&#xff0c;具体如下&#xff1a;散花特效#import /// 领取奖励成功interface RewardSuccess : NSObject/*** 成功动画*/ (void)show;end#import "RewardSuccess.h"#import "RewardSuccessW…

【牛客 - 280C】约数(数论,GCD,数学,分解因子)

题干&#xff1a; Actci上课睡了一觉&#xff0c;下课屁颠屁颠的去找数学老师补课&#xff0c;问了老师一个题目&#xff1a; 给出两个数a,b&#xff0c;问a和b的全部公约数是什么&#xff1f; 数学老师一看这道题太简单了&#xff0c;不屑回答&#xff0c;于是就交给了你…

小程序中input标签没有反应_鸢尾花预测:如何创建机器学习Web应用程序?

全文共2485字&#xff0c;预计学习时长12分钟图源&#xff1a;unsplash数据科学的生命周期主要包括数据收集、数据清理、探索性数据分析、模型构建和模型部署。作为数据科学家或机器学习工程师&#xff0c;能够部署数据科学项目非常重要&#xff0c;这有助于完成数据科学生命周…

潢川高中2021高考成绩查询,潢川高中2020年秋季学期高一期中考试成绩分析

潢川高中2020年秋季学期高一期中语文试卷分析分析人&#xff1a;李四海本次试卷结构与高考试卷结构一致&#xff0c;局部作了调整。如默写由6分增到10分&#xff0c;散文阅读由15分压到13分&#xff0c;文言文翻译共8分。经学科组集体讨论&#xff0c;作如下分析&#xff1a;一…

【牛客 - 280A】勘测(fib数列,思维,打表)

题干&#xff1a; Actci偶然发现了一个矿洞&#xff0c;这个矿洞的结构类似与一棵二叉树&#xff0c;Actci发现的矿洞恰好位于根节点处&#xff0c;为了尽快挖掘&#xff0c;Actci找来了她的小伙伴们来帮忙&#xff0c;由于地质原因&#xff0c;每天小伙伴们只能打通到一条到子…

win10安装ensp启动40_装系统不求人,快速制作启动U盘,傻瓜式重装WIN10

在以前如果我们的电脑系统损坏&#xff0c;无法进入WINDOWS系统&#xff0c;在需要重装WINDOWS系统时&#xff0c;一般的做法是&#xff0c;下载一个WINDOWS系统镜像&#xff0c;制作一个PE启动盘&#xff0c;在PE里安装系统镜像。这样传统的WINDOWS系统重装过程麻烦且耗时。而…

如何拆计算机主机箱,一种方便拆卸的计算机主机箱的制作方法

本发明涉及计算机设备技术领域&#xff0c;具体为一种方便拆卸的计算机主机箱。背景技术&#xff1a;计算机主机指计算机硬件系统中用于放置主板及其他主要部件的容器&#xff0c;通常包括CPU、内存、硬盘、光驱、电源、以及其他输入输出控制器和接口&#xff0c;如控制器、显卡…

*【牛客 - 326B】背单词(线性dp)

题干&#xff1a; winterzz1准备考4级了&#xff0c;现在winterzz1决定把世界上所有单词都背一遍&#xff0c;winterzz1发现任意一个单词最多有A个连续的元音&#xff0c;最多有B个连续的辅音。且单词最长长度为N&#xff0c;winterzz1问你在满打满算的情况他需要背多少单词&a…

java word转html 乱码 poi,java word转html poi

java word转html poi[2021-01-29 15:50:39] 简介:php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a;…

教练,我想打ACM

又到了一年期末。。。慵懒中、、、不想复习、、、不想看课本也不想做题、、、不想听课也不想看笔记、、、、然而莫名想刷题&#xff1f;&#xff1f;然而现在并不是刷题的时候啊、、、或许期末完了之后才是肝题的时候、、、然而现在就是什么都不想做啊、、难受。欠了很多套训练…

请写出sfr和sbit的语句格式_习题_C51语言答案

一、填空1&#xff0e;KeiL C51软件中&#xff0c;工程文件的扩展名是___UV2_______&#xff0c;编译连接后生成可烧写的文件扩展名是___HEX_________。2&#xff0e;C51支持的指针有一般指针和存储器指针。3&#xff0e;C51中&#xff0c;没有专门的循环语句&#xff0c;我们可…

未来计算机的功能猜想,全方位猜想,未来计算机发展详细预测

全方位猜想&#xff0c;未来计算机发展详细预测随着计算机技术的发展&#xff0c;PC将成为我们工作上的工具&#xff0c;生活中的控制中心是必然的事情。从网友的文章中&#xff0c;我们可以了解到计算机的未来充满了变数。性能的大幅度提高是不可置疑的&#xff0c;而实现性能…

【HDU - 5500】 Reorder the Books (思维)

题干&#xff1a; dxy has a collection of a series of books called "The Stories of SDOI",There are n(n≤19)n(n≤19) books in this series.Every book has a number from 11 to nn. dxy puts these books in a book stack with the order of their numbers …

github怎么切换到gitee_AOSP-RISCV 的开源仓库在 Gitee 上新建了镜像

前阵子在知乎上给大家介绍了我们在移植 AOSP 到 RISC-V 上的第一步: 汪辰&#xff1a;第一个 RISC-V 上的“Android 最小系统”​zhuanlan.zhihu.com目前所有的工作成果都是开源在 Github 上的&#xff0c;移植改动涉及的子仓库达到 9 个&#xff0c;所有源码下载下来达到 537M…

联想微型计算机拆,联想10064一体机拆机,联想一体机硬盘怎么拆

电脑现在在我们生活中有着非常广泛的用途&#xff0c;不论是我们的工作还是学习都离不开电脑的辅助。我们工作时可以用电脑进行记录档案资料&#xff0c;学习时可以用电脑查阅资料&#xff0c;及时解决一些学习上遇到的疑问。有了电脑之后我们的工作学习效率都得到了非常大的提…

微型计算机原理中断实验,微机原理实验---中断控制实验.doc

微机原理实验---中断控制实验深 圳 大 学 实 验 报 告课程名称&#xff1a; 微机计算机设计实验项目名称&#xff1a; 8259 中断控制实验学院&#xff1a; 信息工程学院专业&#xff1a; 电子信息工程指导教师&#xff1a;报告人&#xff1a; 学号&#xff1a; 2009100000班级&…