結果

問題 No.256 桁の数字を入れ替え (2)
ユーザー CrossLuna
提出日時 2015-07-31 23:00:37
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 1,135 bytes
コンパイル時間 545 ms
コンパイル使用メモリ 69,384 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-17 23:20:05
合計ジャッジ時間 983 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>


using namespace std;

int main(){
    int N;
    string S;
    cin >> S;

    vector<char> v;
    for(int i = 0; i< S.size(); i++)
        v.push_back(S[i]);


/*
    auto it = max_element(v.begin(), v.end());
    swap(*it, v[0]);
    if(v.size() > 1){
        auto jt = max_element(v.begin()+1, v.end());
        swap(*jt, v[1]);
        if(it > jt) swap(it, jt);
        if(*it < *jt) swap(*it, *jt);
    }
*/
    vector<char>::iterator it = v.begin();
    vector<char>::iterator m1;
    for(; it != v.end(); it++){
        m1 = max_element(it, v.end()); 
        if(it != m1){
            swap(*it, *m1);
            break;
        }
    }

if(it < v.end()-1){
    for(auto jt=it+1; jt != v.end(); jt++){
        auto m2 = max_element(jt, v.end()); 
        if(jt != m2){
            swap(*jt, *m2);
            //if(*m1 < *m2) swap(*m1, *m2);
            break;
        }

    }
}

    for(int i=0 ;i < v.size(); i++)
        cout << v[i];

    cout << endl;
    
    return 0;
}
0