首页 > 其他 > 详细

CodeForces 545B Equidistant String (模拟)

时间:2015-09-17 10:13:46      阅读:223      评论:0      收藏:0      [点我收藏+]

【题目链接】:click here~~

【题目大意】:

题意:求一个字符串,使得它与S,T,相似度相差相等。 
【思路】:就是找出S,T之间的相差个数,相差为奇数,输出impossible。输出为偶数的话不同的前半部分输出S后半部分输出T就好了。

代码:

/*  
* Problem: CodeForces 545B
* Running time: 0MS  
* Complier: G++  
* Author: herongwei 
* Create Time: 8:11 2015/9/17 星期四
*/  
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>

using namespace std;
typedef long long LL;

const int N=1e5+10;

char s[N];
char t[N];

int main()
{
    scanf("%s%s",s,t);
    int len=strlen(s);
    int sum=0;
    for(int i=0; i<len; ++i)
    {
        if(s[i]!=t[i]) sum++;
    }
    if(sum&1) puts("impossible");
    else
    {
        sum/=2;
        for(int i=0; i<len; ++i)
        {
            if(s[i]!=t[i])
            {
                if(sum)
                {
                    printf("%c",s[i]);
                    sum--;
                }
                else printf("%c",t[i]);
            }
            else printf("%c",s[i]);
        }
    }
    puts("");
    return 0;
}
/*
Sample Input
Input
0001
1011
Output
0011
Input
000
111
Output
impossible
*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

CodeForces 545B Equidistant String (模拟)

原文:http://blog.csdn.net/u013050857/article/details/48516839

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!