fork(2) download
  1.  
  2.  
  3. import static java.lang.Math.max;
  4.  
  5. import java.util.concurrent.ThreadLocalRandom;
  6.  
  7. public class Main {
  8.  
  9. static int[] priceTable = new int[11];
  10.  
  11.  
  12. public static void main(String[] args) {
  13. for (int i = 0; i < 50; i++)
  14. {
  15. for (int j = 0; j < priceTable.length; j++)
  16. {
  17. priceTable[j] = ThreadLocalRandom.current().nextInt(100);
  18. }
  19. for (int k = 0; k < 10; k++)
  20. {
  21. System.out.println(cormenCutRod(k)+" - "+cutRodM(k));
  22.  
  23. }
  24. }
  25.  
  26.  
  27. }
  28.  
  29. public static int cormenCutRod(int lenght) {
  30.  
  31. if (lenght == 0)
  32. {
  33. return 0;
  34. }
  35. int q = 0;
  36. for (int i = 1; i <= lenght; i++)
  37. {
  38. q = max(q, priceTable[i] + cormenCutRod(lenght - i));
  39. }
  40.  
  41. return q;
  42. }
  43.  
  44. static int cutRodM(int lenght) {
  45.  
  46. int[] mem = new int[lenght + 1];
  47. mem[0] = 0;
  48. int i, j;
  49. // filling the table bottom up
  50. for (i = 1; i <= lenght; i++)
  51. {
  52. int q = 0;
  53. for (j = 1; j <= i; j++)
  54. q = max(q, priceTable[j] + mem[i - j]);
  55. mem[i] = q;
  56. }
  57.  
  58. return mem[lenght];
  59. }
  60. }
  61.  
Success #stdin #stdout 0.09s 380480KB
stdin
Standard input is empty
stdout
0 - 0
35 - 35
70 - 70
105 - 105
140 - 140
175 - 175
210 - 210
245 - 245
280 - 280
315 - 315
0 - 0
8 - 8
50 - 50
58 - 58
100 - 100
108 - 108
150 - 150
158 - 158
200 - 200
208 - 208
0 - 0
65 - 65
130 - 130
195 - 195
260 - 260
325 - 325
390 - 390
455 - 455
520 - 520
585 - 585
0 - 0
66 - 66
132 - 132
198 - 198
264 - 264
330 - 330
396 - 396
462 - 462
528 - 528
594 - 594
0 - 0
37 - 37
97 - 97
134 - 134
194 - 194
231 - 231
291 - 291
328 - 328
388 - 388
425 - 425
0 - 0
75 - 75
150 - 150
225 - 225
300 - 300
375 - 375
450 - 450
525 - 525
600 - 600
675 - 675
0 - 0
48 - 48
96 - 96
144 - 144
192 - 192
240 - 240
288 - 288
336 - 336
384 - 384
432 - 432
0 - 0
23 - 23
65 - 65
88 - 88
130 - 130
153 - 153
195 - 195
218 - 218
260 - 260
283 - 283
0 - 0
2 - 2
29 - 29
31 - 31
58 - 58
60 - 60
87 - 87
89 - 89
116 - 116
118 - 118
0 - 0
83 - 83
166 - 166
249 - 249
332 - 332
415 - 415
498 - 498
581 - 581
664 - 664
747 - 747
0 - 0
89 - 89
178 - 178
267 - 267
356 - 356
445 - 445
534 - 534
623 - 623
712 - 712
801 - 801
0 - 0
48 - 48
96 - 96
144 - 144
192 - 192
240 - 240
288 - 288
336 - 336
384 - 384
432 - 432
0 - 0
67 - 67
134 - 134
201 - 201
268 - 268
335 - 335
402 - 402
469 - 469
536 - 536
603 - 603
0 - 0
22 - 22
82 - 82
104 - 104
164 - 164
186 - 186
246 - 246
268 - 268
328 - 328
350 - 350
0 - 0
38 - 38
76 - 76
114 - 114
152 - 152
190 - 190
228 - 228
266 - 266
304 - 304
342 - 342
0 - 0
17 - 17
85 - 85
102 - 102
170 - 170
187 - 187
255 - 255
272 - 272
340 - 340
357 - 357
0 - 0
11 - 11
59 - 59
70 - 70
118 - 118
129 - 129
177 - 177
188 - 188
236 - 236
247 - 247
0 - 0
35 - 35
92 - 92
127 - 127
184 - 184
219 - 219
276 - 276
311 - 311
368 - 368
403 - 403
0 - 0
14 - 14
50 - 50
74 - 74
100 - 100
124 - 124
150 - 150
174 - 174
200 - 200
224 - 224
0 - 0
22 - 22
94 - 94
116 - 116
188 - 188
210 - 210
282 - 282
304 - 304
376 - 376
398 - 398
0 - 0
74 - 74
148 - 148
222 - 222
296 - 296
370 - 370
444 - 444
518 - 518
592 - 592
666 - 666
0 - 0
29 - 29
58 - 58
87 - 87
116 - 116
145 - 145
174 - 174
203 - 203
232 - 232
261 - 261
0 - 0
77 - 77
154 - 154
231 - 231
308 - 308
385 - 385
462 - 462
539 - 539
616 - 616
693 - 693
0 - 0
16 - 16
32 - 32
64 - 64
80 - 80
96 - 96
128 - 128
144 - 144
160 - 160
192 - 192
0 - 0
80 - 80
160 - 160
240 - 240
320 - 320
400 - 400
480 - 480
560 - 560
640 - 640
720 - 720
0 - 0
11 - 11
58 - 58
69 - 69
116 - 116
127 - 127
174 - 174
185 - 185
232 - 232
243 - 243
0 - 0
4 - 4
8 - 8
14 - 14
93 - 93
97 - 97
101 - 101
107 - 107
186 - 186
190 - 190
0 - 0
2 - 2
44 - 44
64 - 64
88 - 88
108 - 108
132 - 132
152 - 152
176 - 176
196 - 196
0 - 0
34 - 34
68 - 68
102 - 102
136 - 136
170 - 170
204 - 204
238 - 238
272 - 272
306 - 306
0 - 0
72 - 72
144 - 144
216 - 216
288 - 288
360 - 360
432 - 432
504 - 504
576 - 576
648 - 648
0 - 0
70 - 70
140 - 140
210 - 210
280 - 280
350 - 350
420 - 420
490 - 490
560 - 560
630 - 630
0 - 0
95 - 95
190 - 190
285 - 285
380 - 380
475 - 475
570 - 570
665 - 665
760 - 760
855 - 855
0 - 0
47 - 47
94 - 94
141 - 141
188 - 188
235 - 235
282 - 282
329 - 329
376 - 376
423 - 423
0 - 0
23 - 23
46 - 46
69 - 69
94 - 94
117 - 117
140 - 140
163 - 163
188 - 188
211 - 211
0 - 0
41 - 41
82 - 82
123 - 123
164 - 164
205 - 205
246 - 246
287 - 287
328 - 328
369 - 369
0 - 0
79 - 79
158 - 158
237 - 237
316 - 316
395 - 395
474 - 474
553 - 553
632 - 632
711 - 711
0 - 0
68 - 68
136 - 136
204 - 204
272 - 272
340 - 340
408 - 408
476 - 476
544 - 544
612 - 612
0 - 0
93 - 93
186 - 186
279 - 279
372 - 372
465 - 465
558 - 558
651 - 651
744 - 744
837 - 837
0 - 0
75 - 75
150 - 150
225 - 225
300 - 300
375 - 375
450 - 450
525 - 525
600 - 600
675 - 675
0 - 0
67 - 67
134 - 134
201 - 201
268 - 268
335 - 335
402 - 402
469 - 469
536 - 536
603 - 603
0 - 0
77 - 77
154 - 154
231 - 231
308 - 308
385 - 385
462 - 462
539 - 539
616 - 616
693 - 693
0 - 0
59 - 59
118 - 118
177 - 177
236 - 236
295 - 295
354 - 354
413 - 413
472 - 472
531 - 531
0 - 0
40 - 40
80 - 80
120 - 120
160 - 160
200 - 200
240 - 240
280 - 280
320 - 320
360 - 360
0 - 0
3 - 3
58 - 58
61 - 61
116 - 116
119 - 119
174 - 174
177 - 177
232 - 232
235 - 235
0 - 0
68 - 68
136 - 136
204 - 204
272 - 272
340 - 340
408 - 408
476 - 476
544 - 544
612 - 612
0 - 0
91 - 91
182 - 182
273 - 273
364 - 364
455 - 455
546 - 546
637 - 637
728 - 728
819 - 819
0 - 0
80 - 80
160 - 160
240 - 240
320 - 320
400 - 400
480 - 480
560 - 560
640 - 640
720 - 720
0 - 0
50 - 50
100 - 100
150 - 150
200 - 200
250 - 250
300 - 300
350 - 350
400 - 400
450 - 450
0 - 0
55 - 55
110 - 110
165 - 165
220 - 220
275 - 275
330 - 330
385 - 385
440 - 440
495 - 495
0 - 0
75 - 75
150 - 150
225 - 225
300 - 300
375 - 375
450 - 450
525 - 525
600 - 600
675 - 675