Codeforces Round #303 (Div. 2) B

来源:互联网 发布:海文网络计划软件教程 编辑:程序博客网 时间:2024/05/29 09:13

题意:已知2个字符串s,t。要求输出一个字符串p,其距离和s,t均相等。距离定义: 若s[1]=1,p[1]=0 距离+=abs(1-0)。

思路:确定s,t中,不同字符的个数,如果是偶数才可以进行,再对半分

错误点: strlen不要放在for循环里啊。 死循环tmd!

#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e5+50;char s1[maxn],s2[maxn];int main(void){    scanf("%s",s1+1);    scanf("%s",s2+1);    int cnt=0;    int len=strlen(s1+1);    for(int i=1; i<=len; i++)    {        if(s1[i]!=s2[i])    cnt++;    }    //cout << "cnt=" << cnt << endl;    if(cnt%2==1)    {        printf("impossible\n");        return 0;    }    else    {        int a=0;        for(int i=1; i<=len ; i++)        {            if(s1[i]!=s2[i])            {                a++;                if(a<=cnt/2)                    printf("%c",s1[i]);                else                    printf("%c",s2[i]);            }            else                printf("%c",s1[i]);        }    }    puts("");}
原创粉丝点击