結果

問題 No.205 マージして辞書順最小
ユーザー e-mone-mon
提出日時 2015-05-09 14:55:29
言語 C++11
(gcc 11.4.0)
結果
RE  
実行時間 -
コード長 886 bytes
コンパイル時間 1,792 ms
コンパイル使用メモリ 168,808 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-07-05 21:13:03
合計ジャッジ時間 3,695 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 1 ms
5,376 KB
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 AC 2 ms
5,376 KB
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 WA -
testcase_13 AC 4 ms
5,376 KB
testcase_14 AC 1 ms
5,376 KB
testcase_15 AC 1 ms
5,376 KB
testcase_16 AC 1 ms
5,376 KB
testcase_17 AC 1 ms
5,376 KB
testcase_18 AC 1 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;

typedef vector<int> vi;
typedef pair<int, int> pii;
typedef long long ll;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n)  FOR(i,0,n)
#define INF 1e9

int main(){
    vector<string> strs;
    int N;
    cin >> N ;
    
    for(int i=0;i<N;i++){
        string str;
        cin >> str ;
        strs.push_back(str);
    }
    string ans="";
    while(!strs.empty()){
        sort(strs.begin(),strs.end());
        if(strs.size() > 1 && strs[0].size() == 1 && *strs[0].begin()==*strs[1].begin()){
            ans.insert(ans.end(),*strs[1].begin());
            strs[1].erase(strs[1].begin());
        }else{
            ans.insert(ans.end(),*strs[0].begin());
            strs[0].erase(strs[0].begin());
        }
        if(strs[0] == "")
            strs.erase(strs.begin());
    }
    cout << ans << endl;

    return 0;
}
0