Problem F
Treasure Packing
A dragon has terrorized the region for decades, breathing
fire and stealing treasures. A hero has decided steal back the
treasures and return them to the community. However, they
drastically underestimated the size of the dragon’s hoard,
bringing only a single
Input
The input is JSON keyed by treasure category name, such as
“goblet”. Every category has a unique name composed of at most
Please see the sample input for an example of how the JSON is formatted.
Output
Print a JSON with the same keys as the input, but with single nonegative integer values giving the numbers of items of that category added to the bag in your solution.
Scoring
Producing an algorithm that always generates optimal solutions is very difficult, so your solution only needs to be “good enough”. We will compare your output to a baseline heuristic provided by the NSA, and to a best effort to compute the true optimum. You must beat the NSA heuristic to receive points; after that, the better your solution, the higher your score. Specifically, your score on this problem is your average of the per-test-case score
Sample Input 1 | Sample Output 1 |
---|---|
{ "circlet": [ 19, 113005, 146800, 514247 ], "coppercoin": [ 887, 6171, 12593, 18081 ], "crown": [ 13, 726439, 1079353, 1212213 ], "dagger": [ 21, 279513, 558367, 522344 ], "figurine": [ 18, 26272, 1488281, 2295986 ], "goblet": [ 22, 300053, 698590, 986387 ], "goldcoin": [ 129, 14426, 82176, 27597 ], "helm": [ 3, 974983, 2470209, 882803 ], "jewelry": [ 23, 272450, 171396, 262226 ], "plate": [ 22, 98881, 246257, 363420 ], "silvercoin": [ 288, 12587, 53480, 28654 ], "torc": [ 17, 244957, 388222, 500000 ] } |
{ "circlet": 2, "coppercoin": 8, "crown": 13, "dagger": 0, "figurine": 0, "goblet": 0, "goldcoin": 0, "helm": 0, "jewelry": 23, "plate": 0, "silvercoin": 1, "torc": 4 } |
Sample Input 2 | Sample Output 2 |
---|---|
{ "circlet": [ 14, 298021, 152342, 569655 ], "coppercoin": [ 885, 4586, 28242, 37721 ], "crown": [ 35, 558194, 700000, 1384817 ], "dagger": [ 1, 221618, 568063, 91185 ], "figurine": [ 15, 495235, 1543411, 333761 ], "goblet": [ 10, 164562, 545496, 752137 ], "goldcoin": [ 100, 3342, 113852, 41618 ], "helm": [ 27, 959377, 2179441, 1841497 ], "jewelry": [ 21, 434910, 65575, 358743 ], "plate": [ 11, 88742, 52026, 617095 ], "silvercoin": [ 77, 7876, 64410, 24295 ], "torc": [ 37, 380210, 328752, 333342 ] } |
{ "circlet": 7, "coppercoin": 0, "crown": 0, "dagger": 1, "figurine": 3, "goblet": 0, "goldcoin": 0, "helm": 0, "jewelry": 21, "plate": 0, "silvercoin": 2, "torc": 37 } |
Sample Input 3 | Sample Output 3 |
---|---|
{ "circlet": [ 4, 443418, 209428, 423652 ], "coppercoin": [ 295, 8660, 7719, 14065 ], "crown": [ 15, 598207, 491881, 813066 ], "dagger": [ 2, 153956, 283756, 184358 ], "figurine": [ 15, 820843, 1000000, 2428478 ], "goblet": [ 13, 799643, 209002, 441602 ], "goldcoin": [ 127, 50863, 68660, 25903 ], "helm": [ 14, 917543, 1907181, 2542347 ], "jewelry": [ 30, 559571, 157362, 249831 ], "plate": [ 19, 321098, 356640, 709027 ], "silvercoin": [ 317, 12186, 21466, 17865 ], "torc": [ 19, 290912, 186313, 209472 ] } |
{ "circlet": 4, "coppercoin": 40, "crown": 4, "dagger": 0, "figurine": 0, "goblet": 13, "goldcoin": 86, "helm": 0, "jewelry": 30, "plate": 0, "silvercoin": 0, "torc": 19 } |
Sample Input 4 | Sample Output 4 |
---|---|
{ "circlet": [ 29, 247959, 341955, 419367 ], "coppercoin": [ 312, 6018, 4278, 29843 ], "crown": [ 17, 926260, 861367, 1597635 ], "dagger": [ 13, 297169, 509838, 235145 ], "figurine": [ 17, 295296, 1000000, 2730724 ], "goblet": [ 10, 290042, 41932, 401162 ], "goldcoin": [ 100, 33893, 50000, 20000 ], "helm": [ 10, 822082, 1012394, 2593164 ], "jewelry": [ 31, 540091, 131618, 115981 ], "plate": [ 16, 166014, 257198, 417937 ], "silvercoin": [ 144, 15803, 35054, 13718 ], "torc": [ 29, 207777, 233392, 1104699 ] } |
{ "circlet": 3, "coppercoin": 5, "crown": 8, "dagger": 5, "figurine": 0, "goblet": 10, "goldcoin": 100, "helm": 0, "jewelry": 31, "plate": 0, "silvercoin": 0, "torc": 0 } |