Codeforcesラウンド#602(DIV。2、Technocup 2020エリミネーションラウンド3に基づく)Cメッシー

// ので、n回のいずれかで構成されてもよい得ることができる逆配列であってもよい 
の#include <iostreamの> 
する#include < ストリング > 
の#include <ベクトル>
 使用して 名前空間STDを; 
typedefの対 < INTINT > PII;
 INT N、K、
 文字列S;
 文字列 get_str(INT N-、int型 K){ // 最初の構築K-1の前に
    文字列 RES = "" ;
     のためのINT I = 0 ; I < - K- 1。 ; I ++ ){ 
        RES + = "" ; 
        RES + = " " ; 
    } 
    int型のlen = N- res.size()
     のためにINT iが= 0 ; I <LEN / 2 ; I ++ 
        RES + = " " ; // 构建最后一个
    INTは私= 0 ; I <LEN / 2 ; I ++ 
        RES + = " " ;
     戻りRESを; 
} 
ボイド solve_swap(INTX、int型のY){
     ながら(X < Y){ 
        スワップ(S [X]、[Y]は秒)。
        X ++、y-- 
    } 
} 
ボイド解く(){ 
    CIN >> N >> K。
    cinを >> 秒; 
    ベクトル <PII> 解像度。
    ストリング final_str = get_str(N、K)。
    以下のためにINT iが= 0 ; N I <; I ++ ){
         もし、(S [I]は、=!{final_str [i])と
             するためのINT J = I + 1、J <nであり、j ++ ){
                もし(S [J] == final_str [I]){ 
                    solve_swap(i、j)は、
                    res.push_back({I + 1、J + 1 })。
                    休憩; 
                } 
            } 
        } 
    } 
    COUT << res.size()<< ENDL。
    以下のためにINT iが= 0 ; I <res.size(); I ++ 
        COUT << RES [i]が1次回<< "  " << RES [i]は.second << ENDL。
} 
int型のmain(){
     int型、T。
    CIN >>トン;
    一方、(t-- ))(解きます。
    リターン 0 ; 
}

 

 

おすすめ

転載: www.cnblogs.com/QingyuYYYYY/p/11968013.html