結果
| 問題 |
No.205 マージして辞書順最小
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-11-06 07:33:48 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 761 bytes |
| コンパイル時間 | 824 ms |
| コンパイル使用メモリ | 72,324 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-25 03:13:33 |
| 合計ジャッジ時間 | 1,484 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 7 WA * 8 |
ソースコード
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main(){
int N;cin>>N;
vector<string> v1(N);
for(int i=0;i<N;++i){
cin>>v1[i];
}
string T;
while(1){
sort(v1.begin(),v1.end());
int ss1=v1[0].size();
if(ss1==1){
char a=v1[0][0];
for(int i=0;i<v1.size();++i){
int ss2=v1[i].size();
char b=v1[i][0];
if(a==b && ss2>1){
string s3=v1[i];
v1.erase(v1.begin()+i);
v1.insert(v1.begin(),s3);
break;
}
}
}
string s1=v1[0];
string s2=s1.substr(0,1);
T+=s2;
v1[0].erase(v1[0].begin());
if(v1[0].size()==0) v1.erase(v1.begin());
if(v1.size()==0) break;
}
cout<<T<<endl;
}