結果

問題 No.115 遠足のおやつ
ユーザー kohaku_kohaku
提出日時 2017-01-12 03:03:48
言語 Java8
(openjdk 1.8.0.141)
結果
AC  
実行時間 215 ms
コード長 913 Byte
コンパイル時間 2290 ms
使用メモリ 38796 KB

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_challenge01.txt AC 138 ms
20880 KB
sample1.txt AC 126 ms
20880 KB
sample2.txt AC 143 ms
20888 KB
sample3.txt AC 153 ms
21048 KB
system_test1.txt AC 137 ms
20896 KB
system_test2.txt AC 135 ms
20668 KB
system_test3.txt AC 131 ms
20884 KB
system_test4.txt AC 131 ms
20880 KB
system_test5.txt AC 132 ms
20884 KB
system_test6.txt AC 136 ms
20896 KB
system_test7.txt AC 147 ms
21456 KB
system_test8.txt AC 215 ms
34080 KB
system_test9.txt AC 173 ms
37808 KB
system_test10.txt AC 152 ms
25568 KB
system_test11.txt AC 131 ms
20660 KB
system_test12.txt AC 142 ms
20956 KB
system_test13.txt AC 136 ms
21304 KB
system_test14.txt AC 132 ms
20888 KB
testcase1.txt AC 163 ms
27140 KB
testcase2.txt AC 145 ms
20944 KB
testcase3.txt AC 169 ms
26892 KB
testcase4.txt AC 159 ms
24972 KB
testcase5.txt AC 144 ms
22116 KB
testcase6.txt AC 153 ms
23496 KB
testcase7.txt AC 141 ms
22096 KB
testcase8.txt AC 149 ms
23184 KB
testcase9.txt AC 152 ms
26732 KB
testcase10.txt AC 144 ms
22368 KB
testcase11.txt AC 155 ms
36164 KB
testcase12.txt AC 128 ms
21056 KB
testcase13.txt AC 168 ms
37848 KB
testcase14.txt AC 148 ms
24448 KB
testcase15.txt AC 150 ms
25836 KB
testcase16.txt AC 187 ms
35876 KB
testcase17.txt AC 179 ms
38796 KB
testcase18.txt AC 178 ms
38768 KB
testcase19.txt AC 135 ms
20656 KB
testcase20.txt AC 134 ms
20656 KB
testcase21.txt AC 128 ms
20688 KB
テストケース一括ダウンロード

ソースコード

diff #
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int D = sc.nextInt();
        int K = sc.nextInt();
        boolean [][] b = new boolean [K+1][D+1];
        String [][] s = new String [K+1][D+1];
        for(int i=0; i<=K; i++){
            for(int j=0; j<=D; j++){
                s[i][j]="";
            }
        }
        b[0][0]=true;
        for(int i=1; i<=N; i++){
            for(int j=D; j>=0; j--){
                for(int k=0; k<K; k++){
                    if(b[k][j]&&i+j<=D){
                        b[k+1][i+j]=true;
                        s[k+1][i+j]=s[k][j]+" "+i;
                    }
                }
            }
        }
        if(b[K][D]){
            System.out.println(s[K][D].substring(1));
        }else{
            System.out.println(-1);
        }
    }
}
0