結果
| 問題 | No.39 桁の数字を入れ替え | 
| コンテスト | |
| ユーザー |  Respect2D | 
| 提出日時 | 2014-11-21 01:45:31 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 555 bytes | 
| コンパイル時間 | 675 ms | 
| コンパイル使用メモリ | 69,324 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-02 05:55:48 | 
| 合計ジャッジ時間 | 1,546 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
ソースコード
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
typedef pair<char, int> P;
int main(){
  int n;
  string s;
  while(cin >> s){
    vector<P> t;
    n = s.size();
    for(int i = 0; i < n; i++){
      t.push_back(P(s[i], i));
    }
    sort(t.rbegin(), t.rend());
    for(int i = 0; i < n; i++){
      int j;
      for(j = 0; j < n; j++) if(t[i].first > s[j]) break;
      if(j < t[i].second){
        swap(s[j], s[t[i].second]);
        break;
      }
    }
    cout << s << endl;
  }
}
            
            
            
        