結果

問題 No.205 マージして辞書順最小
ユーザー uafr_cs
提出日時 2016-02-08 21:00:08
言語 Java
(openjdk 23)
結果
AC  
実行時間 151 ms / 5,000 ms
コード長 906 bytes
コンパイル時間 2,123 ms
コンパイル使用メモリ 81,588 KB
実行使用メモリ 41,812 KB
最終ジャッジ日時 2024-09-21 21:50:00
合計ジャッジ時間 5,484 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Set;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		final int N = sc.nextInt();
		String[] inputs = new String[N];
		for(int i = 0; i < N; i++){
			inputs[i] = sc.next();
		}
		
		StringBuilder sb = new StringBuilder();
		PriorityQueue<String> queue = new PriorityQueue<String>();
		
		for(int i = 0; i < N; i++){
			queue.add(inputs[i] + "{");
		}
		
		while(!queue.isEmpty()){
			final String p = queue.poll();
			//System.out.println(p);
			if(p.equals("{")){ break; }
			
			sb.append(p.charAt(0));
			if(p.length() != 1){
				queue.add(p.substring(1, p.length()));
			}
		}
		
		
		System.out.println(sb.toString());
		
		
	}

}
0