結果
問題 | 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; }