問題の説明:暁明はA、B、C、D、のように番号、5つの曲を持って 、E 彼は、単一の名前を入力したときにすべてのシングル曲は、3つの異なる曲を持って、そして今、彼はプログラムを望んでいる、いくつかの曲すべての単一の出力にプレイリスト内の曲の曲のプレイリスト、および出力はすべての条件を満たしていたとき。
入力:リピートAEを含む文字列を入力します。
出力:出力は、プレイリストのすべての条件を満たして(出力は整然とした、文字は大文字でなければなりませんが必要です)
例1
エントリー
交流
輸出
A1C1 A1C2 A1C3 A2C1 A2C2 A2C3 A3C1 A3C2 A3C3
例2
エントリー
A
輸出
A1 A2 A3
個人的には、その感謝:シングル曲の順列及び組合せのそれぞれ3文字の名前の入力を、彼らは数字入力の番号がわからないので、それはループのために使用されていない、再帰的に
実装コード
輸入 java.utilの。* ; パブリック クラスメイン{ 公共 静的 ボイドメイン(文字列[]引数){ スキャナ入力 = 新しいスキャナ(System.in)。 文字列str = input.nextLine()。 一覧 <文字列>リスト=は、Arrays.asList(str.split( "" )); Collections.sort(リスト、新しいコンパレータの<string> (){ @Override 公共 intは(文字列O1、O2文字列を比較){ 戻りo1.compareTo(O2を); } })。 outputABCDE(リスト、 "" ); } プライベート 静的 ボイド outputABCDE(リストの<string> リスト、文字列S){ 場合(リスト== NULL || list.isEmpty()){ System.out.print(S + "" )。 返します。 } のために(int型、iは3 <; I = 0 iは++ ){ outputABCDE(list.subList( 1、はlist.size())、S + list.get(0)+(I + 1 ))。 } } }
業績
ABCを入力します。
ABを入力します。
ACBを入力します。
レートACを通じてコードを提出してください 0%
私はそう思ったならば、プログラムは問題ありません、合格率0であってもよい出力問題のフォーマットので。私は理由フォーマットの、0%に、100%を叫びました。