CodeForces 545B Equidistant String (模拟)

【题目链接】: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

*/

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

时间: 2024-11-11 03:50:18

CodeForces 545B Equidistant String (模拟)的相关文章

贪心 Codeforces Round #303 (Div. 2) B. Equidistant String

题目传送门 1 /* 2 题意:找到一个字符串p,使得它和s,t的不同的总个数相同 3 贪心:假设p与s相同,奇偶变换赋值,当是偶数,则有答案 4 */ 5 #include <cstdio> 6 #include <algorithm> 7 #include <cstring> 8 #include <cmath> 9 #include <iostream> 10 using namespace std; 11 12 const int MAX

Codeforces 48C The Race 模拟题

题目链接:点击打开链接 题意: 给定n个加油站,一辆车由A点跑到B点,每个100m有一个加油站,每开100m需要10升油. 在每个车站会检查一下油量,若车子若开不到下一个加油站则加x升油. 开始有x升油 下面给出加油的记录. 问下一次加油在哪一站.若答案唯一输出具体哪站. 油箱容量无限 思路: 水模拟.. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h>

CodeForces - 200DProgramming Language纯模拟

CodeForces - 200D Programming Language Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit Status Description Recently, Valery have come across an entirely new programming language. Most of all the language attracted h

codeforces 825F F. String Compression dp+kmp找字符串的最小循环节

/** 题目:F. String Compression 链接:http://codeforces.com/problemset/problem/825/F 题意:压缩字符串后求最小长度. 思路: dp[i]表示前i个字符需要的最小次数. dp[i] = min(dp[j]+w(j+1,i)); (0<=j<i); [j+1,i]如果存在循环节(自身不算),那么取最小的循环节x.w = digit((i-j)/x)+x; 否则w = i-j+1; 求一个区间最小循环节: 证明:http://w

Codeforces #200(div.2) 模拟练习赛

A题: 题意:一行磁铁,同性相斥,找到这行磁铁可以分为多少块 思路:边读边计算,读到和上一次不一样的就加1(第一组数据特判) 手速题然而我没有把思路理清楚再写,比队友满了太多=_+. 代码: #include <set> #include <map> #include <cmath> #include <stack> #include <queue> #include <string> #include <vector>

Codeforces 827E Rusty String - 快速傅里叶变换 - 暴力

Grigory loves strings. Recently he found a metal strip on a loft. The strip had length n and consisted of letters "V" and "K". Unfortunately, rust has eaten some of the letters so that it's now impossible to understand which letter was

codeforces 589 G - Hiring(模拟?)

G - Hiring Time Limit:4000MS     Memory Limit:524288KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 589G Description The head of human resources department decided to hire a new employee. He created a test exercise for candidat

Codeforces Gym 100496J(模拟乱搞,线段相交)

题意:给一个M*N的矩形区域,有M*N个方格,有些方格为空(可到达),有些非空(不可达).现A和B在博弈,他们任选两个不同的空格,站在各自的格子中央,A可以移动,但只能进行一次行方向或列向方移动,移动后仍然在格子中央.A如果移动到一个位置使得B看不见他,则A获胜.B看不见A的条件是存在一个非空格子与B到A的线段相切或相交.问,对于每个空格子,A站在上面,是否无论B在哪里,他都可以移动到一个安全位置. A可以选择不移动,题目保证至少有两个空格子,每次移动只能进行横向或竖向移动,不能都进行.空格子内

CodeForces 2A - Winner(模拟)

题目链接:http://codeforces.com/problemset/problem/2/A A. Winner time limit per test 1 second memory limit per test 64 megabytes input standard input output standard output The winner of the card game popular in Berland "Berlogging" is determined acc