問題のluogu P4415 [[COCI2006-2007#2] KOLONE]へのソリューション

純粋なシミュレーションの質問。

1つの文字列に2つのチームが、記録方向アリ列、0はチームが正しいものである、チームを去っています。それぞれの時点では、2つの文字は、二つの文字列の上にスイープします。だけ右に行くため(文字列や配列を交換しながら方向)0,1は、限り2つの文字で電流が、最初のものは0であり、第1、スイッチングを行うために、左に行くことができます2スキャンポインタがインクリメントされます。それ以外の場合は、ポインタ。

チームは、合併の順序を反転させる必要があるときに1がチームを去ったことに注意してください。

フィールは、理解することが際立っていました 下のコードを貼り付けます。

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
INT N1、N2、T、[ 100005 ]、LEN。
文字列S1、S2、S3;
INT メイン()
{ 
    CIN >> N1 >> N2 >> S1 >> S2 >> T。
    以下のためにint型 i = 0 ; I <s1.size()/ 2([)(s1.size - S1 [i]は、S1スワップI ++を;)1 - I])。
    S3 = S1 + S2。LEN = s3.size()。
    INT I = s1.size(); iがLEN <; iは++)[I] = 1 以下のためのint型私は=0 ; 私はトンを<; I ++ 
    { 
        int型 J = 0 一方、(J < LEN)
        { 
            場合(![J] && [J + 1 ])
            { 
                スワップ([J]、[J + 1 ])。
                スワップ(S3 [J]、S3 [J + 1 ])。
                J + = 2 ; 
            } 
            他の J ++ ; 
        } 
    } 
    COUT << S3 << ENDL。
    リターン 0 ; 
}

 

 

おすすめ

転載: www.cnblogs.com/mhhx/p/11620924.html