Codeforcesラウンド#303B。等距離文字列

試験1秒あたりの制限時間
メモリ制限テスト当たり256メガバイトの
入力標準入力
出力標準出力
リトルスージーは、文字列を愛します。今日、彼女はそれらの間の距離を計算します。スージーは、すべての後に、小さな女の子があるので、彼女の文字列だけでは、0と1の数字が含まれています。彼女は、ハミング距離の定義を使用しています。

我々は、Siは、Tiと等しくないような位置の番号i、ように2つの文字列Sと数字からなる同じ長さのT 0と1の間の距離を定義します。

他のすべてスージーの愛が対称以外として、彼女はsのPからの距離がトンまでのpからの距離に等しかったことを、長さnは、長さNのように文字列pの二つの文字列sとtを見つけることを望んでいます。

スージーはベッドに行くすることの時間、彼女はそれが不可能であるような文字列Pや状態を見つけます。

入力は、
最初の行は、文字列sの長さのNを含有します。

2行目は、長さnの文字列tを含んでいます。

文字列の長さNは、1から105までの範囲内では、両方の文字列が数字のみ0と1を含むことが保証されます。

出力は
、問題文を満たしている数字0と1からなる長さの文字列nは、印刷します。そのような文字列が存在する場合、単一の行(引用符なし)「不可能」に印刷。

複数の可能な答えがある場合は、それらのいずれかを印刷します。

サンプルテスト(複数の)
入力
0001
1011
出力
0011
入力
000
111
出力
不可能

即ち異なる答えが可能であり、最初のサンプルでは、 - 0010、0011、0110、0111、1000、1001、1100、1101。

[タイトル]イタリア

二つの文字列s及びt 01、PコンストラクトP sおよびtは同じ同じ、Sの一部ではなく、場合のt統計は、奇数、不可能直接リターンの出力場合、位置の同じ数ではないように紐01、所与ない偶数,,ライン上の出力、汎用出力トン、他の部分と同じ、S出力の同じ場所の半分はね,,あなたは特別な文,,が、まったく影響を追加することができ、62msです。

#include <bits/stdc++.h>
using namespace std;
int main()
{
     string s,t;
     cin>>s>>t;
     int n=s.size();
     int flag=0;
     if(s==t)
     {
         cout<<s<<endl;
         return 0;
     }
     for(int i=0;i<n;i++)
     {
         if(s[i]!=t[i])
            flag++;
     }
     if(flag%2==1)
     {
         puts("impossible");
     }
     else
     {
         flag/=2;
         for(int i=0;i<n;i++)
         {   
             if(s[i]!=t[i])
             {
             if(flag>0)
             {
                cout<<s[i];
                flag--;
             }
             else
                cout<<t[i];
             }
             else
                cout<<s[i];
         }
     }
     return 0;
}


 

彼は193元記事に公開 ウォンの賞賛0 ビュー4545を

おすすめ

転載: blog.csdn.net/qq_43956340/article/details/104675526