CodeForces 508B Round #288 div2B Anton and currency you all know

原创 2015年01月28日 11:37:20
/*
 * 首先,输入是一个奇数,所以不用考虑换位后产生前导0,且要产生偶数一定是最后一个数和前面的数交换。
 * 然后,前面若是没有偶数,则输出-1。
 * 前面若是有比最后一个数大的偶数,则交换后整个数增大,所以越靠前增大的越多。
 * 前面若是没有比最后一个数大的偶数,则交换后整个数减小,所以越靠后减小的越小。
 */
/*************************************************************************
	> File Name: b_.cpp
	> Author: UnknownCUnknown
	> Mail: jsnjhcb@icloud.com
	> Created Time: 三  1/28 01:17:13 2015
 ************************************************************************/

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cctype>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <list>
#include <string>
#include <cstdlib>
#include <queue>
#include <cmath>
#include <climits>
using namespace std;
char s1[100010];
int main(){
    scanf("%s",s1);
    int size=(int)strlen(s1);
    int point1=-1;
    int point2=-1;
    for(int i=0;i<size-1;++i){
        if((s1[i]-'0')%2==0){
            point2=i;
            if(point1==-1&&s1[i]<s1[size-1]){
                point1=i;
            }
        }
    }
    if(point2==-1) puts("-1");
    else {
        if(point1!=-1){
            swap(s1[size-1],s1[point1]);
            puts(s1);
        }
        else {
            swap(s1[size-1],s1[point2]);
            puts(s1);
        }
    }
    return 0;
}

Codeforces Round #288 (Div. 2) B. Anton and currency you all know

题意:给一个长度不超过100000的奇数,要求交换任意两位上的数字,使它成为一个最大的偶数。 思路:字符串读入,记录下最后一位数上的奇数a,从前往后扫,找到第一个比a小的偶数,将它和a交换就是结果,若...

Codeforces Round #288 (Div. 二) Anton and currency you all know

Anton and currency you all know Time Limit:500MS     Memory Limit:262144KB     64bit IO Format:%I64d...

【codeforces 508B】Anton and currency you all know

【题目链接】:http://codeforces.com/contest/508/problem/B【题意】 给你一个奇数; 让你交换一次数字; 使得这个数字变成偶数; 要求偶数要最大; ...

codeforces 508B Anton and currency you all know

B. Anton and currency you all know time limit per test 0.5 seconds memory limit per test 256 megab...

Codeforces 508B. Anton and currency you all know

大概题意是: 给出一个奇数(位数10^5,保证为奇数),找到一个位上的数为偶数,与最后一位交换,使这个数变成偶数,并且为最大可能的偶数。找不到则输出 -1 。直接贪心暴力求解。 例如:  527 ...

B. Anton and currency you all know

B. Anton and currency you all know

Codeforces Round #329 (Div. 2) 593B - Anton and Lines

题意: 给你n个k和b 就代表n条线段 问你在x1~x2这个区间内这n条线段是否有交点 (边界不算 思路: 这个思路很好想…但是因为很久没写代码….然后一个离散化WA了几次QAQ 顿时想死...

【Codeforces Round 329 (Div 2) B】【映射 排序 贪心】Anton and Lines 查看所有直线pair在[x1,x2]范围内是否有交点

#include #include #include #include #include #include #include #include #include #include #include #...

Codeforces Round #288 (Div. 2)---C. Anya and Ghosts

C. Anya and Ghosts time limit per test 2 seconds memory limit per test 256 megabytes inpu...

Codeforces Round #288 (Div. 2)---D. Tanya and Password

D. Tanya and Password time limit per test 2 seconds memory limit per test 256 megabytes i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CodeForces 508B Round #288 div2B Anton and currency you all know
举报原因:
原因补充:

(最多只允许输入30个字)