質問編集履歴
3
初心者アイコンを付けました
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
実行例を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -100,4 +100,61 @@
|
|
100
100
|
```
|
101
101
|
|
102
102
|
###注釈
|
103
|
-
i--,k--付近にある System.out.println(k+" "+i); は、自分が今荷物数が何で、容量が何を見ているかのデバッグ用です。
|
103
|
+
i--,k--付近にある System.out.println(k+" "+i); は、自分が今荷物数が何で、容量が何を見ているかのデバッグ用です。
|
104
|
+
|
105
|
+
###実行例
|
106
|
+
上手くいく例
|
107
|
+
|
108
|
+
java DPKnapsack2 10 10
|
109
|
+
9 10
|
110
|
+
8 10
|
111
|
+
7 10
|
112
|
+
6 10
|
113
|
+
6 9
|
114
|
+
6 8
|
115
|
+
6 7
|
116
|
+
6 6
|
117
|
+
6 5
|
118
|
+
5 5
|
119
|
+
4 5
|
120
|
+
4 4
|
121
|
+
4 3
|
122
|
+
4 2
|
123
|
+
4 1
|
124
|
+
3 1
|
125
|
+
2 1
|
126
|
+
1 1
|
127
|
+
重さ 1 価値 250
|
128
|
+
重さ 4 価値 420
|
129
|
+
重さ 5 価値 510
|
130
|
+
合計価値 1180
|
131
|
+
|
132
|
+
ダメな例
|
133
|
+
|
134
|
+
C:\Users\RinRin\Desktop\prog>java DPKnapsack2 10 15
|
135
|
+
9 15
|
136
|
+
8 15
|
137
|
+
7 15
|
138
|
+
6 15
|
139
|
+
6 14
|
140
|
+
6 13
|
141
|
+
6 12
|
142
|
+
6 11
|
143
|
+
6 10
|
144
|
+
6 9
|
145
|
+
6 8
|
146
|
+
6 7
|
147
|
+
6 6
|
148
|
+
6 5
|
149
|
+
6 4
|
150
|
+
6 3
|
151
|
+
6 2
|
152
|
+
6 1
|
153
|
+
6 0
|
154
|
+
6 14
|
155
|
+
6 13
|
156
|
+
6 12
|
157
|
+
6 11
|
158
|
+
6 10
|
159
|
+
6 9
|
160
|
+
6 8 (以下ループ)
|
1
コードの一部が改良前のものをコピペしてしまっていました
title
CHANGED
File without changes
|
body
CHANGED
@@ -57,6 +57,8 @@
|
|
57
57
|
k = n; i = C;
|
58
58
|
int total = G[k][i];
|
59
59
|
|
60
|
+
//ここより下が問題の箇所です
|
61
|
+
|
60
62
|
while (true) {
|
61
63
|
if (S[k][i] == true) {
|
62
64
|
SS[k] = true;
|
@@ -64,8 +66,10 @@
|
|
64
66
|
if (total == 0) break;
|
65
67
|
while (total != G[k][i]) {
|
66
68
|
if (i>=1) i--;
|
69
|
+
else {
|
70
|
+
i = C;
|
67
|
-
|
71
|
+
break;
|
68
|
-
|
72
|
+
}
|
69
73
|
System.out.println(k+" "+i);
|
70
74
|
}
|
71
75
|
}
|
@@ -75,6 +79,8 @@
|
|
75
79
|
return SS;
|
76
80
|
}
|
77
81
|
|
82
|
+
//これ以降は問題ないです
|
83
|
+
|
78
84
|
public static void main(String [] args) {
|
79
85
|
if (args.length == 2) {
|
80
86
|
int k = Integer.parseInt(args[0]);
|