Skip to content

Instantly share code, notes, and snippets.

@ninnypants
Created December 2, 2015 17:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ninnypants/6b011bb942e3d1d592e2 to your computer and use it in GitHub Desktop.
Save ninnypants/6b011bb942e3d1d592e2 to your computer and use it in GitHub Desktop.
Generates answers to http://adventofcode.com/day/2
var dimensions = [{ l: 3, w: 11, h: 24 }, { l: 13, w: 5, h: 19 }, { l: 1, w: 9, h: 27 }, { l: 24, w: 8, h: 21 }, { l: 6, w: 8, h: 17 }, { l: 19, w: 18, h: 22 }, { l: 10, w: 9, h: 12 }, { l: 12, w: 2, h: 5 }, { l: 26, w: 6, h: 11 }, { l: 9, w: 23, h: 15 }, { l: 12, w: 8, h: 17 }, { l: 13, w: 29, h: 10 }, { l: 28, w: 18, h: 6 }, { l: 22, w: 28, h: 26 }, { l: 1, w: 5, h: 11 }, { l: 29, w: 26, h: 12 }, { l: 8, w: 28, h: 29 }, { l: 27, w: 4, h: 21 }, { l: 12, w: 7, h: 16 }, { l: 7, w: 4, h: 23 }, { l: 15, w: 24, h: 8 }, { l: 15, w: 14, h: 2 }, { l: 11, w: 6, h: 29 }, { l: 28, w: 19, h: 9 }, { l: 10, w: 3, h: 1 }, { l: 5, w: 20, h: 13 }, { l: 10, w: 25, h: 1 }, { l: 22, w: 17, h: 7 }, { l: 16, w: 29, h: 3 }, { l: 18, w: 22, h: 8 }, { l: 18, w: 11, h: 19 }, { l: 21, w: 24, h: 20 }, { l: 4, w: 7, h: 17 }, { l: 22, w: 27, h: 12 }, { l: 1, w: 26, h: 6 }, { l: 5, w: 27, h: 24 }, { l: 29, w: 21, h: 3 }, { l: 25, w: 30, h: 2 }, { l: 21, w: 26, h: 2 }, { l: 10, w: 24, h: 27 }, { l: 10, w: 16, h: 28 }, { l: 18, w: 16, h: 23 }, { l: 6, w: 5, h: 26 }, { l: 19, w: 12, h: 20 }, { l: 6, w: 24, h: 25 }, { l: 11, w: 20, h: 7 }, { l: 4, w: 8, h: 5 }, { l: 2, w: 13, h: 11 }, { l: 11, w: 17, h: 1 }, { l: 13, w: 24, h: 6 }, { l: 22, w: 29, h: 16 }, { l: 4, w: 24, h: 20 }, { l: 10, w: 25, h: 10 }, { l: 12, w: 29, h: 23 }, { l: 23, w: 27, h: 12 }, { l: 11, w: 21, h: 9 }, { l: 13, w: 2, h: 6 }, { l: 15, w: 30, h: 2 }, { l: 8, w: 26, h: 24 }, { l: 24, w: 7, h: 30 }, { l: 22, w: 22, h: 8 }, { l: 29, w: 27, h: 8 }, { l: 28, w: 23, h: 27 }, { l: 13, w: 16, h: 14 }, { l: 9, w: 28, h: 20 }, { l: 21, w: 4, h: 30 }, { l: 21, w: 20, h: 20 }, { l: 11, w: 17, h: 30 }, { l: 9, w: 14, h: 22 }, { l: 20, w: 2, h: 6 }, { l: 10, w: 11, h: 14 }, { l: 1, w: 8, h: 23 }, { l: 23, w: 19, h: 19 }, { l: 26, w: 10, h: 13 }, { l: 21, w: 12, h: 12 }, { l: 25, w: 7, h: 24 }, { l: 1, w: 28, h: 17 }, { l: 20, w: 23, h: 9 }, { l: 2, w: 24, h: 27 }, { l: 20, w: 24, h: 29 }, { l: 1, w: 3, h: 10 }, { l: 5, w: 20, h: 14 }, { l: 25, w: 21, h: 3 }, { l: 15, w: 5, h: 22 }, { l: 14, w: 17, h: 19 }, { l: 27, w: 3, h: 18 }, { l: 29, w: 23, h: 19 }, { l: 14, w: 21, h: 19 }, { l: 20, w: 8, h: 3 }, { l: 22, w: 27, h: 12 }, { l: 24, w: 15, h: 18 }, { l: 9, w: 10, h: 19 }, { l: 29, w: 25, h: 28 }, { l: 14, w: 22, h: 6 }, { l: 4, w: 19, h: 28 }, { l: 4, w: 24, h: 14 }, { l: 17, w: 19, h: 17 }, { l: 7, w: 19, h: 29 }, { l: 28, w: 8, h: 26 }, { l: 7, w: 20, h: 16 }, { l: 11, w: 26, h: 29 }, { l: 2, w: 18, h: 3 }, { l: 12, w: 7, h: 18 }, { l: 11, w: 15, h: 21 }, { l: 24, w: 7, h: 26 }, { l: 2, w: 22, h: 23 }, { l: 2, w: 30, h: 5 }, { l: 1, w: 19, h: 8 }, { l: 15, w: 29, h: 10 }, { l: 15, w: 26, h: 22 }, { l: 20, w: 16, h: 14 }, { l: 25, w: 29, h: 22 }, { l: 3, w: 13, h: 19 }, { l: 1, w: 12, h: 30 }, { l: 3, w: 15, h: 27 }, { l: 19, w: 9, h: 11 }, { l: 30, w: 8, h: 21 }, { l: 26, w: 12, h: 20 }, { l: 11, w: 17, h: 19 }, { l: 17, w: 25, h: 1 }, { l: 19, w: 24, h: 12 }, { l: 30, w: 6, h: 20 }, { l: 11, w: 19, h: 18 }, { l: 18, w: 15, h: 29 }, { l: 18, w: 8, h: 9 }, { l: 25, w: 15, h: 5 }, { l: 15, w: 6, h: 26 }, { l: 13, w: 27, h: 19 }, { l: 23, w: 24, h: 12 }, { l: 3, w: 15, h: 28 }, { l: 17, w: 10, h: 10 }, { l: 15, w: 4, h: 7 }, { l: 15, w: 27, h: 7 }, { l: 21, w: 8, h: 11 }, { l: 9, w: 18, h: 2 }, { l: 7, w: 20, h: 20 }, { l: 17, w: 23, h: 12 }, { l: 2, w: 19, h: 1 }, { l: 7, w: 26, h: 26 }, { l: 13, w: 23, h: 8 }, { l: 10, w: 3, h: 12 }, { l: 11, w: 1, h: 9 }, { l: 1, w: 11, h: 19 }, { l: 25, w: 14, h: 26 }, { l: 16, w: 10, h: 15 }, { l: 7, w: 6, h: 11 }, { l: 8, w: 1, h: 27 }, { l: 20, w: 28, h: 17 }, { l: 3, w: 25, h: 9 }, { l: 30, w: 7, h: 5 }, { l: 17, w: 17, h: 4 }, { l: 23, w: 25, h: 27 }, { l: 23, w: 8, h: 5 }, { l: 13, w: 11, h: 1 }, { l: 15, w: 10, h: 21 }, { l: 22, w: 16, h: 1 }, { l: 12, w: 15, h: 28 }, { l: 27, w: 18, h: 26 }, { l: 25, w: 18, h: 5 }, { l: 21, w: 3, h: 27 }, { l: 15, w: 25, h: 5 }, { l: 29, w: 27, h: 19 }, { l: 11, w: 10, h: 12 }, { l: 22, w: 16, h: 21 }, { l: 11, w: 8, h: 18 }, { l: 6, w: 10, h: 23 }, { l: 21, w: 21, h: 2 }, { l: 13, w: 27, h: 28 }, { l: 2, w: 5, h: 20 }, { l: 23, w: 16, h: 20 }, { l: 1, w: 21, h: 7 }, { l: 22, w: 2, h: 13 }, { l: 11, w: 10, h: 4 }, { l: 7, w: 3, h: 4 }, { l: 19, w: 2, h: 5 }, { l: 21, w: 11, h: 1 }, { l: 7, w: 27, h: 26 }, { l: 12, w: 4, h: 23 }, { l: 12, w: 3, h: 15 }, { l: 25, w: 7, h: 4 }, { l: 20, w: 7, h: 15 }, { l: 16, w: 5, h: 11 }, { l: 1, w: 18, h: 26 }, { l: 11, w: 27, h: 10 }, { l: 17, w: 6, h: 24 }, { l: 19, w: 13, h: 16 }, { l: 6, w: 3, h: 11 }, { l: 4, w: 19, h: 18 }, { l: 16, w: 15, h: 15 }, { l: 1, w: 11, h: 17 }, { l: 19, w: 11, h: 29 }, { l: 18, w: 19, h: 1 }, { l: 1, w: 25, h: 7 }, { l: 8, w: 22, h: 14 }, { l: 15, w: 6, h: 19 }, { l: 5, w: 30, h: 18 }, { l: 30, w: 24, h: 22 }, { l: 11, w: 16, h: 2 }, { l: 21, w: 29, h: 19 }, { l: 20, w: 29, h: 11 }, { l: 27, w: 1, h: 18 }, { l: 20, w: 5, h: 30 }, { l: 12, w: 4, h: 28 }, { l: 3, w: 9, h: 30 }, { l: 26, w: 20, h: 15 }, { l: 18, w: 25, h: 18 }, { l: 20, w: 28, h: 28 }, { l: 21, w: 5, h: 3 }, { l: 20, w: 21, h: 25 }, { l: 19, w: 27, h: 22 }, { l: 8, w: 27, h: 9 }, { l: 1, w: 5, h: 15 }, { l: 30, w: 6, h: 19 }, { l: 16, w: 5, h: 15 }, { l: 18, w: 30, h: 21 }, { l: 4, w: 15, h: 8 }, { l: 9, w: 3, h: 28 }, { l: 18, w: 15, h: 27 }, { l: 25, w: 11, h: 6 }, { l: 17, w: 22, h: 15 }, { l: 18, w: 12, h: 18 }, { l: 14, w: 30, h: 30 }, { l: 1, w: 7, h: 23 }, { l: 27, w: 21, h: 12 }, { l: 15, w: 7, h: 18 }, { l: 16, w: 17, h: 24 }, { l: 11, w: 12, h: 19 }, { l: 18, w: 15, h: 21 }, { l: 6, w: 18, h: 15 }, { l: 2, w: 21, h: 4 }, { l: 12, w: 9, h: 14 }, { l: 19, w: 7, h: 25 }, { l: 22, w: 3, h: 1 }, { l: 29, w: 19, h: 7 }, { l: 30, w: 25, h: 7 }, { l: 6, w: 27, h: 27 }, { l: 5, w: 13, h: 9 }, { l: 21, w: 4, h: 18 }, { l: 13, w: 1, h: 16 }, { l: 11, w: 21, h: 25 }, { l: 27, w: 20, h: 27 }, { l: 14, w: 25, h: 9 }, { l: 23, w: 11, h: 15 }, { l: 22, w: 10, h: 26 }, { l: 15, w: 16, h: 4 }, { l: 14, w: 16, h: 21 }, { l: 1, w: 1, h: 24 }, { l: 17, w: 27, h: 3 }, { l: 25, w: 28, h: 16 }, { l: 12, w: 2, h: 29 }, { l: 9, w: 19, h: 28 }, { l: 12, w: 7, h: 17 }, { l: 6, w: 9, h: 19 }, { l: 15, w: 14, h: 24 }, { l: 25, w: 21, h: 23 }, { l: 26, w: 27, h: 25 }, { l: 7, w: 18, h: 13 }, { l: 15, w: 10, h: 6 }, { l: 22, w: 28, h: 2 }, { l: 15, w: 2, h: 14 }, { l: 3, w: 24, h: 18 }, { l: 30, w: 22, h: 7 }, { l: 18, w: 27, h: 17 }, { l: 29, w: 18, h: 7 }, { l: 20, w: 2, h: 4 }, { l: 4, w: 20, h: 26 }, { l: 23, w: 30, h: 15 }, { l: 5, w: 7, h: 3 }, { l: 4, w: 24, h: 12 }, { l: 24, w: 30, h: 20 }, { l: 26, w: 18, h: 17 }, { l: 6, w: 28, h: 3 }, { l: 29, w: 19, h: 29 }, { l: 14, w: 10, h: 4 }, { l: 15, w: 5, h: 23 }, { l: 12, w: 25, h: 4 }, { l: 7, w: 15, h: 19 }, { l: 26, w: 21, h: 19 }, { l: 18, w: 2, h: 23 }, { l: 19, w: 20, h: 3 }, { l: 3, w: 13, h: 9 }, { l: 29, w: 21, h: 24 }, { l: 26, w: 13, h: 29 }, { l: 30, w: 27, h: 4 }, { l: 20, w: 10, h: 29 }, { l: 21, w: 18, h: 8 }, { l: 7, w: 26, h: 10 }, { l: 29, w: 16, h: 21 }, { l: 22, w: 5, h: 11 }, { l: 17, w: 15, h: 2 }, { l: 7, w: 29, h: 5 }, { l: 6, w: 18, h: 15 }, { l: 23, w: 6, h: 14 }, { l: 10, w: 30, h: 14 }, { l: 26, w: 6, h: 16 }, { l: 24, w: 13, h: 25 }, { l: 17, w: 29, h: 20 }, { l: 4, w: 27, h: 19 }, { l: 28, w: 12, h: 11 }, { l: 23, w: 20, h: 3 }, { l: 22, w: 6, h: 20 }, { l: 29, w: 9, h: 19 }, { l: 10, w: 16, h: 22 }, { l: 30, w: 26, h: 4 }, { l: 29, w: 26, h: 11 }, { l: 2, w: 11, h: 15 }, { l: 1, w: 3, h: 30 }, { l: 30, w: 30, h: 29 }, { l: 9, w: 1, h: 3 }, { l: 30, w: 13, h: 16 }, { l: 20, w: 4, h: 5 }, { l: 23, w: 28, h: 11 }, { l: 24, w: 27, h: 1 }, { l: 4, w: 25, h: 10 }, { l: 9, w: 3, h: 6 }, { l: 14, w: 4, h: 15 }, { l: 4, w: 5, h: 25 }, { l: 27, w: 14, h: 13 }, { l: 20, w: 30, h: 3 }, { l: 28, w: 15, h: 25 }, { l: 5, w: 19, h: 2 }, { l: 10, w: 24, h: 29 }, { l: 29, w: 30, h: 18 }, { l: 30, w: 1, h: 25 }, { l: 7, w: 7, h: 15 }, { l: 1, w: 13, h: 16 }, { l: 23, w: 18, h: 4 }, { l: 1, w: 28, h: 8 }, { l: 24, w: 11, h: 8 }, { l: 22, w: 26, h: 19 }, { l: 30, w: 30, h: 14 }, { l: 2, w: 4, h: 13 }, { l: 27, w: 20, h: 26 }, { l: 16, w: 20, h: 17 }, { l: 11, w: 12, h: 13 }, { l: 28, w: 2, h: 17 }, { l: 15, w: 26, h: 13 }, { l: 29, w: 15, h: 25 }, { l: 30, w: 27, h: 9 }, { l: 2, w: 6, h: 25 }, { l: 10, w: 26, h: 19 }, { l: 16, w: 8, h: 23 }, { l: 12, w: 17, h: 18 }, { l: 26, w: 14, h: 22 }, { l: 13, w: 17, h: 4 }, { l: 27, w: 27, h: 29 }, { l: 17, w: 13, h: 22 }, { l: 9, w: 8, h: 3 }, { l: 25, w: 15, h: 20 }, { l: 14, w: 13, h: 16 }, { l: 8, w: 7, h: 13 }, { l: 12, w: 4, h: 21 }, { l: 27, w: 16, h: 15 }, { l: 6, w: 14, h: 5 }, { l: 28, w: 29, h: 17 }, { l: 23, w: 17, h: 25 }, { l: 10, w: 27, h: 28 }, { l: 1, w: 28, h: 21 }, { l: 18, w: 2, h: 30 }, { l: 25, w: 30, h: 16 }, { l: 25, w: 21, h: 7 }, { l: 2, w: 3, h: 4 }, { l: 9, w: 6, h: 13 }, { l: 19, w: 6, h: 10 }, { l: 28, w: 17, h: 8 }, { l: 13, w: 24, h: 28 }, { l: 24, w: 12, h: 7 }, { l: 5, w: 19, h: 5 }, { l: 18, w: 10, h: 27 }, { l: 16, w: 1, h: 6 }, { l: 12, w: 14, h: 30 }, { l: 1, w: 2, h: 28 }, { l: 23, w: 21, h: 2 }, { l: 13, w: 3, h: 23 }, { l: 9, w: 22, h: 10 }, { l: 10, w: 17, h: 2 }, { l: 24, w: 20, h: 11 }, { l: 30, w: 6, h: 14 }, { l: 28, w: 1, h: 16 }, { l: 24, w: 20, h: 1 }, { l: 28, w: 7, h: 7 }, { l: 1, w: 24, h: 21 }, { l: 14, w: 9, h: 7 }, { l: 22, w: 8, h: 15 }, { l: 20, w: 1, h: 21 }, { l: 6, w: 3, h: 7 }, { l: 7, w: 26, h: 14 }, { l: 5, w: 7, h: 28 }, { l: 5, w: 4, h: 4 }, { l: 15, w: 7, h: 28 }, { l: 30, w: 16, h: 23 }, { l: 7, w: 26, h: 2 }, { l: 1, w: 2, h: 30 }, { l: 24, w: 28, h: 20 }, { l: 5, w: 17, h: 28 }, { l: 4, w: 15, h: 20 }, { l: 15, w: 26, h: 2 }, { l: 1, w: 3, h: 23 }, { l: 22, w: 30, h: 24 }, { l: 9, w: 20, h: 16 }, { l: 7, w: 15, h: 2 }, { l: 6, w: 21, h: 18 }, { l: 21, w: 21, h: 29 }, { l: 29, w: 10, h: 10 }, { l: 4, w: 3, h: 23 }, { l: 23, w: 2, h: 18 }, { l: 29, w: 24, h: 14 }, { l: 29, w: 29, h: 16 }, { l: 22, w: 28, h: 24 }, { l: 21, w: 18, h: 24 }, { l: 16, w: 21, h: 6 }, { l: 3, w: 9, h: 22 }, { l: 9, w: 18, h: 4 }, { l: 22, w: 9, h: 9 }, { l: 12, w: 9, h: 13 }, { l: 18, w: 21, h: 14 }, { l: 7, w: 8, h: 29 }, { l: 28, w: 28, h: 14 }, { l: 1, w: 6, h: 24 }, { l: 11, w: 11, h: 3 }, { l: 8, w: 28, h: 6 }, { l: 11, w: 16, h: 10 }, { l: 9, w: 16, h: 16 }, { l: 6, w: 6, h: 19 }, { l: 21, w: 5, h: 12 }, { l: 15, w: 17, h: 12 }, { l: 3, w: 6, h: 29 }, { l: 19, w: 1, h: 26 }, { l: 10, w: 30, h: 25 }, { l: 24, w: 26, h: 21 }, { l: 1, w: 10, h: 18 }, { l: 6, w: 1, h: 16 }, { l: 4, w: 17, h: 27 }, { l: 17, w: 11, h: 27 }, { l: 15, w: 15, h: 21 }, { l: 14, w: 23, h: 1 }, { l: 8, w: 9, h: 30 }, { l: 22, w: 22, h: 25 }, { l: 20, w: 27, h: 22 }, { l: 12, w: 7, h: 9 }, { l: 9, w: 26, h: 19 }, { l: 26, w: 25, h: 12 }, { l: 8, w: 8, h: 16 }, { l: 28, w: 15, h: 10 }, { l: 29, w: 18, h: 2 }, { l: 25, w: 22, h: 6 }, { l: 4, w: 6, h: 15 }, { l: 12, w: 18, h: 4 }, { l: 10, w: 3, h: 20 }, { l: 17, w: 28, h: 17 }, { l: 14, w: 25, h: 13 }, { l: 14, w: 10, h: 3 }, { l: 14, w: 5, h: 10 }, { l: 7, w: 7, h: 22 }, { l: 21, w: 2, h: 14 }, { l: 1, w: 21, h: 5 }, { l: 27, w: 29, h: 1 }, { l: 6, w: 20, h: 4 }, { l: 7, w: 19, h: 23 }, { l: 28, w: 19, h: 27 }, { l: 3, w: 9, h: 18 }, { l: 13, w: 17, h: 17 }, { l: 18, w: 8, h: 15 }, { l: 26, w: 23, h: 17 }, { l: 10, w: 10, h: 13 }, { l: 11, w: 5, h: 21 }, { l: 25, w: 15, h: 29 }, { l: 6, w: 23, h: 24 }, { l: 10, w: 7, h: 2 }, { l: 19, w: 10, h: 30 }, { l: 4, w: 3, h: 23 }, { l: 22, w: 12, h: 6 }, { l: 11, w: 17, h: 16 }, { l: 6, w: 8, h: 12 }, { l: 18, w: 20, h: 11 }, { l: 6, w: 2, h: 2 }, { l: 17, w: 4, h: 11 }, { l: 20, w: 23, h: 22 }, { l: 29, w: 23, h: 24 }, { l: 25, w: 11, h: 21 }, { l: 22, w: 11, h: 15 }, { l: 29, w: 3, h: 9 }, { l: 13, w: 30, h: 5 }, { l: 17, w: 10, h: 12 }, { l: 10, w: 30, h: 8 }, { l: 21, w: 16, h: 17 }, { l: 1, w: 5, h: 26 }, { l: 22, w: 15, h: 16 }, { l: 27, w: 7, h: 11 }, { l: 16, w: 8, h: 18 }, { l: 29, w: 9, h: 7 }, { l: 25, w: 4, h: 17 }, { l: 10, w: 21, h: 25 }, { l: 2, w: 19, h: 21 }, { l: 29, w: 11, h: 16 }, { l: 18, w: 26, h: 21 }, { l: 2, w: 8, h: 20 }, { l: 17, w: 29, h: 27 }, { l: 25, w: 27, h: 4 }, { l: 14, w: 3, h: 14 }, { l: 25, w: 29, h: 29 }, { l: 26, w: 18, h: 11 }, { l: 8, w: 24, h: 28 }, { l: 7, w: 30, h: 24 }, { l: 12, w: 30, h: 22 }, { l: 29, w: 20, h: 6 }, { l: 3, w: 17, h: 1 }, { l: 6, w: 15, h: 14 }, { l: 6, w: 22, h: 20 }, { l: 13, w: 26, h: 26 }, { l: 12, w: 2, h: 1 }, { l: 7, w: 14, h: 12 }, { l: 15, w: 16, h: 11 }, { l: 3, w: 21, h: 4 }, { l: 30, w: 17, h: 29 }, { l: 9, w: 18, h: 27 }, { l: 11, w: 28, h: 16 }, { l: 22, w: 3, h: 25 }, { l: 18, w: 15, h: 15 }, { l: 2, w: 30, h: 12 }, { l: 3, w: 27, h: 22 }, { l: 10, w: 8, h: 8 }, { l: 26, w: 16, h: 14 }, { l: 15, w: 2, h: 29 }, { l: 12, w: 10, h: 7 }, { l: 21, w: 20, h: 15 }, { l: 2, w: 15, h: 25 }, { l: 4, w: 14, h: 13 }, { l: 3, w: 15, h: 13 }, { l: 29, w: 8, h: 3 }, { l: 7, w: 7, h: 28 }, { l: 15, w: 10, h: 24 }, { l: 23, w: 15, h: 5 }, { l: 5, w: 7, h: 14 }, { l: 24, w: 1, h: 22 }, { l: 1, w: 11, h: 13 }, { l: 26, w: 4, h: 19 }, { l: 19, w: 16, h: 26 }, { l: 5, w: 25, h: 5 }, { l: 17, w: 25, h: 14 }, { l: 23, w: 7, h: 14 }, { l: 24, w: 6, h: 17 }, { l: 5, w: 13, h: 12 }, { l: 20, w: 20, h: 5 }, { l: 22, w: 29, h: 17 }, { l: 11, w: 17, h: 29 }, { l: 25, w: 6, h: 4 }, { l: 29, w: 8, h: 16 }, { l: 28, w: 22, h: 24 }, { l: 24, w: 23, h: 17 }, { l: 16, w: 17, h: 4 }, { l: 17, w: 8, h: 25 }, { l: 22, w: 9, h: 13 }, { l: 24, w: 4, h: 8 }, { l: 18, w: 10, h: 20 }, { l: 21, w: 23, h: 21 }, { l: 13, w: 14, h: 12 }, { l: 23, w: 26, h: 4 }, { l: 4, w: 10, h: 29 }, { l: 2, w: 18, h: 18 }, { l: 19, w: 5, h: 21 }, { l: 2, w: 27, h: 23 }, { l: 6, w: 29, h: 30 }, { l: 21, w: 9, h: 20 }, { l: 6, w: 5, h: 16 }, { l: 25, w: 10, h: 27 }, { l: 5, w: 29, h: 21 }, { l: 24, w: 14, h: 19 }, { l: 19, w: 11, h: 8 }, { l: 2, w: 28, h: 6 }, { l: 19, w: 25, h: 6 }, { l: 27, w: 1, h: 11 }, { l: 6, w: 8, h: 29 }, { l: 18, w: 25, h: 30 }, { l: 4, w: 27, h: 26 }, { l: 8, w: 12, h: 1 }, { l: 7, w: 17, h: 25 }, { l: 7, w: 14, h: 27 }, { l: 12, w: 9, h: 5 }, { l: 14, w: 29, h: 13 }, { l: 18, w: 17, h: 5 }, { l: 23, w: 1, h: 3 }, { l: 28, w: 5, h: 13 }, { l: 3, w: 2, h: 26 }, { l: 3, w: 7, h: 11 }, { l: 1, w: 8, h: 7 }, { l: 12, w: 5, h: 4 }, { l: 2, w: 30, h: 21 }, { l: 16, w: 30, h: 11 }, { l: 3, w: 26, h: 4 }, { l: 16, w: 9, h: 4 }, { l: 11, w: 9, h: 22 }, { l: 23, w: 5, h: 6 }, { l: 13, w: 20, h: 3 }, { l: 4, w: 3, h: 2 }, { l: 14, w: 10, h: 29 }, { l: 11, w: 8, h: 12 }, { l: 26, w: 15, h: 16 }, { l: 7, w: 17, h: 29 }, { l: 18, w: 19, h: 18 }, { l: 8, w: 28, h: 4 }, { l: 22, w: 6, h: 13 }, { l: 9, w: 23, h: 7 }, { l: 11, w: 23, h: 20 }, { l: 13, w: 11, h: 26 }, { l: 15, w: 30, h: 13 }, { l: 1, w: 5, h: 8 }, { l: 5, w: 10, h: 24 }, { l: 22, w: 25, h: 17 }, { l: 27, w: 20, h: 25 }, { l: 30, w: 10, h: 21 }, { l: 16, w: 28, h: 24 }, { l: 20, w: 12, h: 8 }, { l: 17, w: 25, h: 1 }, { l: 30, w: 14, h: 9 }, { l: 14, w: 18, h: 6 }, { l: 8, w: 28, h: 29 }, { l: 12, w: 18, h: 29 }, { l: 9, w: 7, h: 18 }, { l: 6, w: 12, h: 25 }, { l: 20, w: 13, h: 24 }, { l: 22, w: 3, h: 12 }, { l: 5, w: 23, h: 22 }, { l: 8, w: 10, h: 17 }, { l: 7, w: 23, h: 5 }, { l: 10, w: 26, h: 27 }, { l: 14, w: 26, h: 19 }, { l: 10, w: 18, h: 24 }, { l: 8, w: 4, h: 4 }, { l: 16, w: 15, h: 11 }, { l: 3, w: 14, h: 9 }, { l: 18, w: 5, h: 30 }, { l: 29, w: 12, h: 26 }, { l: 16, w: 13, h: 12 }, { l: 15, w: 10, h: 7 }, { l: 18, w: 5, h: 26 }, { l: 14, w: 1, h: 6 }, { l: 10, w: 8, h: 29 }, { l: 3, w: 4, h: 9 }, { l: 19, w: 4, h: 23 }, { l: 28, w: 17, h: 23 }, { l: 30, w: 7, h: 17 }, { l: 19, w: 5, h: 9 }, { l: 26, w: 29, h: 28 }, { l: 22, w: 13, h: 17 }, { l: 28, w: 2, h: 1 }, { l: 20, w: 30, h: 8 }, { l: 15, w: 13, h: 21 }, { l: 25, w: 23, h: 19 }, { l: 27, w: 23, h: 1 }, { l: 4, w: 6, h: 23 }, { l: 29, w: 29, h: 24 }, { l: 5, w: 18, h: 7 }, { l: 4, w: 6, h: 30 }, { l: 17, w: 15, h: 2 }, { l: 27, w: 4, h: 2 }, { l: 25, w: 24, h: 14 }, { l: 28, w: 8, h: 30 }, { l: 24, w: 29, h: 5 }, { l: 14, w: 30, h: 14 }, { l: 10, w: 18, h: 19 }, { l: 15, w: 26, h: 22 }, { l: 24, w: 19, h: 21 }, { l: 29, w: 23, h: 27 }, { l: 21, w: 10, h: 16 }, { l: 7, w: 4, h: 29 }, { l: 14, w: 21, h: 3 }, { l: 21, w: 4, h: 28 }, { l: 17, w: 16, h: 15 }, { l: 24, w: 7, h: 13 }, { l: 21, w: 24, h: 15 }, { l: 25, w: 11, h: 16 }, { l: 10, w: 26, h: 13 }, { l: 23, w: 20, h: 14 }, { l: 20, w: 29, h: 27 }, { l: 14, w: 24, h: 14 }, { l: 14, w: 23, h: 12 }, { l: 18, w: 6, h: 5 }, { l: 3, w: 18, h: 9 }, { l: 8, w: 18, h: 19 }, { l: 20, w: 26, h: 15 }, { l: 16, w: 14, h: 13 }, { l: 30, w: 16, h: 3 }, { l: 17, w: 13, h: 4 }, { l: 15, w: 19, h: 30 }, { l: 20, w: 3, h: 8 }, { l: 13, w: 4, h: 5 }, { l: 12, w: 10, h: 15 }, { l: 8, w: 23, h: 26 }, { l: 16, w: 8, h: 15 }, { l: 22, w: 8, h: 11 }, { l: 12, w: 11, h: 18 }, { l: 28, w: 3, h: 30 }, { l: 15, w: 8, h: 4 }, { l: 13, w: 22, h: 13 }, { l: 21, w: 26, h: 21 }, { l: 29, w: 1, h: 15 }, { l: 28, w: 9, h: 5 }, { l: 27, w: 3, h: 26 }, { l: 22, w: 19, h: 30 }, { l: 4, w: 11, h: 22 }, { l: 21, w: 27, h: 20 }, { l: 22, w: 26, h: 7 }, { l: 19, w: 28, h: 20 }, { l: 24, w: 23, h: 16 }, { l: 26, w: 12, h: 9 }, { l: 13, w: 22, h: 9 }, { l: 5, w: 6, h: 23 }, { l: 20, w: 7, h: 2 }, { l: 18, w: 26, h: 30 }, { l: 3, w: 6, h: 28 }, { l: 24, w: 18, h: 13 }, { l: 28, w: 19, h: 16 }, { l: 25, w: 21, h: 25 }, { l: 25, w: 19, h: 23 }, { l: 22, w: 29, h: 10 }, { l: 29, w: 19, h: 30 }, { l: 4, w: 7, h: 27 }, { l: 5, w: 12, h: 28 }, { l: 8, w: 26, h: 6 }, { l: 14, w: 14, h: 25 }, { l: 17, w: 17, h: 2 }, { l: 5, w: 27, h: 11 }, { l: 8, w: 2, h: 2 }, { l: 3, w: 20, h: 24 }, { l: 26, w: 10, h: 9 }, { l: 22, w: 28, h: 27 }, { l: 18, w: 15, h: 20 }, { l: 12, w: 11, h: 1 }, { l: 5, w: 14, h: 30 }, { l: 7, w: 3, h: 16 }, { l: 2, w: 16, h: 16 }, { l: 18, w: 20, h: 15 }, { l: 13, w: 14, h: 29 }, { l: 1, w: 17, h: 12 }, { l: 13, w: 5, h: 23 }, { l: 19, w: 4, h: 10 }, { l: 25, w: 19, h: 11 }, { l: 15, w: 17, h: 14 }, { l: 1, w: 28, h: 27 }, { l: 11, w: 9, h: 28 }, { l: 9, w: 10, h: 18 }, { l: 30, w: 11, h: 22 }, { l: 21, w: 21, h: 20 }, { l: 2, w: 1, h: 5 }, { l: 2, w: 25, h: 1 }, { l: 7, w: 3, h: 4 }, { l: 22, w: 15, h: 29 }, { l: 21, w: 28, h: 15 }, { l: 12, w: 12, h: 4 }, { l: 21, w: 30, h: 6 }, { l: 15, w: 10, h: 7 }, { l: 10, w: 14, h: 6 }, { l: 21, w: 26, h: 18 }, { l: 14, w: 25, h: 6 }, { l: 9, w: 7, h: 11 }, { l: 22, w: 3, h: 1 }, { l: 1, w: 16, h: 27 }, { l: 1, w: 14, h: 23 }, { l: 2, w: 13, h: 8 }, { l: 14, w: 19, h: 11 }, { l: 21, w: 26, h: 1 }, { l: 4, w: 28, h: 13 }, { l: 12, w: 16, h: 20 }, { l: 21, w: 13, h: 9 }, { l: 3, w: 4, h: 13 }, { l: 14, w: 9, h: 8 }, { l: 21, w: 21, h: 12 }, { l: 27, w: 10, h: 17 }, { l: 6, w: 20, h: 6 }, { l: 28, w: 23, h: 23 }, { l: 2, w: 28, h: 12 }, { l: 8, w: 10, h: 10 }, { l: 3, w: 9, h: 2 }, { l: 20, w: 3, h: 29 }, { l: 19, w: 4, h: 16 }, { l: 29, w: 24, h: 9 }, { l: 26, w: 20, h: 8 }, { l: 15, w: 28, h: 26 }, { l: 18, w: 17, h: 10 }, { l: 7, w: 22, h: 10 }, { l: 20, w: 15, h: 9 }, { l: 6, w: 10, h: 8 }, { l: 7, w: 26, h: 21 }, { l: 8, w: 8, h: 16 }, { l: 15, w: 6, h: 29 }, { l: 22, w: 30, h: 11 }, { l: 18, w: 25, h: 8 }, { l: 6, w: 21, h: 20 }, { l: 7, w: 23, h: 25 }, { l: 8, w: 25, h: 26 }, { l: 11, w: 25, h: 27 }, { l: 22, w: 18, h: 23 }, { l: 3, w: 2, h: 14 }, { l: 16, w: 16, h: 1 }, { l: 15, w: 13, h: 11 }, { l: 3, w: 9, h: 25 }, { l: 29, w: 25, h: 24 }, { l: 9, w: 15, h: 1 }, { l: 12, w: 4, h: 1 }, { l: 23, w: 30, h: 20 }, { l: 3, w: 1, h: 23 }, { l: 6, w: 10, h: 29 }, { l: 28, w: 13, h: 24 }, { l: 4, w: 19, h: 17 }, { l: 6, w: 6, h: 25 }, { l: 27, w: 29, h: 17 }, { l: 12, w: 13, h: 2 }, { l: 10, w: 7, h: 13 }, { l: 14, w: 15, h: 8 }, { l: 22, w: 2, h: 3 }, { l: 27, w: 17, h: 19 }, { l: 23, w: 10, h: 16 }, { l: 5, w: 9, h: 25 }, { l: 9, w: 25, h: 14 }, { l: 11, w: 18, h: 6 }, { l: 18, w: 10, h: 12 }, { l: 9, w: 4, h: 15 }, { l: 7, w: 16, h: 14 }, { l: 17, w: 24, h: 10 }, { l: 11, w: 4, h: 6 }, { l: 12, w: 9, h: 17 }, { l: 22, w: 18, h: 12 }, { l: 6, w: 24, h: 24 }, { l: 6, w: 22, h: 23 }, { l: 5, w: 17, h: 30 }, { l: 6, w: 9, h: 5 }, { l: 17, w: 20, h: 10 }, { l: 6, w: 8, h: 12 }, { l: 14, w: 17, h: 13 }, { l: 29, w: 10, h: 17 }, { l: 22, w: 4, h: 5 }, { l: 10, w: 19, h: 30 }, { l: 22, w: 29, h: 11 }, { l: 10, w: 12, h: 29 }, { l: 21, w: 22, h: 26 }, { l: 16, w: 6, h: 25 }, { l: 1, w: 26, h: 24 }, { l: 30, w: 17, h: 16 }, { l: 27, w: 28, h: 5 }, { l: 30, w: 13, h: 22 }, { l: 7, w: 26, h: 12 }, { l: 11, w: 24, h: 30 }, { l: 1, w: 17, h: 25 }, { l: 22, w: 1, h: 3 }, { l: 29, w: 24, h: 6 }, { l: 4, w: 8, h: 24 }, { l: 13, w: 9, h: 20 }, { l: 8, w: 12, h: 9 }, { l: 21, w: 25, h: 4 }, { l: 23, w: 23, h: 28 }, { l: 5, w: 2, h: 19 }, { l: 29, w: 3, h: 15 }, { l: 22, w: 1, h: 14 }, { l: 3, w: 23, h: 30 }, { l: 8, w: 25, h: 3 }, { l: 15, w: 8, h: 14 }, { l: 30, w: 14, h: 6 }, { l: 23, w: 27, h: 24 }, { l: 19, w: 1, h: 2 }, { l: 10, w: 9, h: 13 }, { l: 13, w: 8, h: 7 }, { l: 8, w: 13, h: 22 }, { l: 5, w: 15, h: 20 }, { l: 17, w: 14, h: 8 }, { l: 5, w: 11, h: 20 }, { l: 5, w: 10, h: 27 }, { l: 24, w: 17, h: 19 }, { l: 21, w: 2, h: 3 }, { l: 15, w: 30, h: 26 }, { l: 21, w: 19, h: 15 }, { l: 2, w: 7, h: 23 }, { l: 13, w: 17, h: 25 }, { l: 30, w: 15, h: 19 }, { l: 26, w: 4, h: 10 }, { l: 2, w: 25, h: 8 }, { l: 9, w: 9, h: 10 }, { l: 2, w: 25, h: 8 }, { l: 19, w: 21, h: 30 }, { l: 17, w: 26, h: 12 }, { l: 7, w: 5, h: 10 }, { l: 2, w: 22, h: 14 }, { l: 10, w: 17, h: 30 }, { l: 1, w: 8, h: 5 }, { l: 23, w: 2, h: 25 }, { l: 22, w: 29, h: 8 }, { l: 13, w: 26, h: 1 }, { l: 26, w: 3, h: 30 }, { l: 25, w: 17, h: 8 }, { l: 25, w: 18, h: 26 }, { l: 26, w: 19, h: 15 }, { l: 8, w: 28, h: 10 }, { l: 12, w: 16, h: 29 }, { l: 30, w: 6, h: 29 }, { l: 28, w: 19, h: 4 }, { l: 27, w: 26, h: 18 }, { l: 15, w: 23, h: 17 }, { l: 5, w: 21, h: 30 }, { l: 8, w: 11, h: 13 }, { l: 2, w: 26, h: 7 }, { l: 19, w: 9, h: 24 }, { l: 3, w: 22, h: 23 }, { l: 6, w: 7, h: 18 }, { l: 4, w: 26, h: 30 }, { l: 13, w: 25, h: 20 }, { l: 17, w: 3, h: 15 }, { l: 8, w: 20, h: 18 }, { l: 23, w: 18, h: 23 }, { l: 28, w: 23, h: 9 }, { l: 16, w: 3, h: 4 }, { l: 1, w: 29, h: 14 }, { l: 20, w: 26, h: 22 }, { l: 3, w: 2, h: 22 }, { l: 23, w: 8, h: 17 }, { l: 19, w: 5, h: 17 }, { l: 21, w: 18, h: 20 }, { l: 17, w: 21, h: 8 }, { l: 30, w: 28, h: 1 }, { l: 29, w: 19, h: 23 }, { l: 12, w: 12, h: 11 }, { l: 24, w: 18, h: 7 }, { l: 21, w: 18, h: 14 }, { l: 14, w: 26, h: 25 }, { l: 9, w: 11, h: 3 }, { l: 10, w: 7, h: 15 }, { l: 27, w: 6, h: 28 }, { l: 14, w: 26, h: 4 }, { l: 28, w: 4, h: 1 }, { l: 22, w: 25, h: 29 }, { l: 6, w: 26, h: 6 }, { l: 1, w: 3, h: 13 }, { l: 26, w: 22, h: 12 }, { l: 6, w: 21, h: 26 }, { l: 23, w: 4, h: 27 }, { l: 26, w: 13, h: 24 }, { l: 5, w: 24, h: 28 }, { l: 22, w: 16, h: 7 }, { l: 3, w: 27, h: 24 }, { l: 19, w: 28, h: 2 }, { l: 11, w: 13, h: 9 }, { l: 29, w: 16, h: 22 }, { l: 30, w: 10, h: 24 }, { l: 14, w: 14, h: 22 }, { l: 22, w: 23, h: 16 }, { l: 14, w: 8, h: 3 }, { l: 20, w: 5, h: 14 }, { l: 28, w: 6, h: 13 }, { l: 3, w: 15, h: 25 }, { l: 4, w: 12, h: 22 }, { l: 15, w: 12, h: 25 }, { l: 10, w: 11, h: 24 }, { l: 7, w: 7, h: 6 }, { l: 8, w: 11, h: 9 }, { l: 21, w: 10, h: 29 }, { l: 23, w: 28, h: 30 }, { l: 8, w: 29, h: 26 }, { l: 16, w: 27, h: 11 }, { l: 1, w: 10, h: 2 }, { l: 24, w: 20, h: 16 }, { l: 7, w: 12, h: 28 }, { l: 28, w: 8, h: 20 }, { l: 14, w: 10, h: 30 }, { l: 1, w: 19, h: 6 }, { l: 4, w: 12, h: 20 }, { l: 18, w: 2, h: 7 }, { l: 24, w: 18, h: 17 }, { l: 16, w: 11, h: 10 }, { l: 1, w: 12, h: 22 }, { l: 30, w: 16, h: 28 }, { l: 18, w: 12, h: 11 }, { l: 28, w: 9, h: 8 }, { l: 23, w: 6, h: 17 }, { l: 10, w: 3, h: 11 }, { l: 5, w: 12, h: 8 }, { l: 22, w: 2, h: 23 }, { l: 9, w: 19, h: 14 }, { l: 15, w: 28, h: 13 }, { l: 27, w: 20, h: 23 }, { l: 19, w: 16, h: 12 }, { l: 19, w: 30, h: 15 }, { l: 8, w: 17, h: 4 }, { l: 10, w: 22, h: 18 }, { l: 13, w: 22, h: 4 }, { l: 3, w: 12, h: 19 }, { l: 22, w: 16, h: 23 }, { l: 11, w: 8, h: 19 }, { l: 8, w: 11, h: 6 }, { l: 7, w: 14, h: 7 }, { l: 29, w: 17, h: 29 }, { l: 21, w: 8, h: 12 }, { l: 21, w: 9, h: 11 }, { l: 20, w: 1, h: 27 }, { l: 1, w: 22, h: 11 }, { l: 5, w: 28, h: 4 }, { l: 26, w: 7, h: 26 }, { l: 30, w: 12, h: 18 }, { l: 29, w: 11, h: 20 }, { l: 3, w: 12, h: 15 }, { l: 24, w: 25, h: 17 }, { l: 14, w: 6, h: 11 } ];
/**
* Calculate total wrapping paper based on dimensions of box with extra for overlap on shortest sides.
*
* @param {object} dimensions Object with length, width, and height dimensions.
* @return {int} Total paper needed to wrap the box.
*/
function getNeededWrapping( dimensions ) {
var total = 0, sides = [];
// Get the areas of each side.
sides.push( dimensions.l * dimensions.w );
sides.push( dimensions.h * dimensions.w );
sides.push( dimensions.l * dimensions.h );
// Sort smallest to largest.
sides.sort( sortAsc );
// Get total + the area of the smallest side.
total += sides[0];
total += sides.reduce( function( prev, current ) {
return prev + 2 * current;
}, 0 );
return total;
}
/**
* Calculates the length of ribbon needed to go around the smallest circumfrence of the box
* plus the ribbon for a bow that takes the same length as the number of cubic feet in the box.
*
* @param {object} dimensions Object with length, width, and height dimensions.
* @return {int} Total length of ribbon needed.
*/
function getNeededRibbon( dimensions ) {
var total = 0, sides = [ dimensions.l, dimensions.w, dimensions.h ];
// Sort sides so we find the shortest circumfrence.
sides.sort( sortAsc );
total += 2 * sides[0] + 2 * sides[1];
// Get volume.
total += dimensions.l * dimensions.w * dimensions.h;
return total;
}
/**
* Sorts array of ints from smallest to largest when passed to Array.prototype.sort()
*
* @param {int} a Array item 1.
* @param {int} b Array item 2.
* @return {int} Array sort indicator.
*/
function sortAsc( a, b ) {
if ( a < b ) {
return -1;
} else if ( a > b ) {
return 1;
} else {
return 0;
}
}
var paper = 0,
ribbon = 0;
for ( var i = 0; i < dimensions.length; i++ ) {
paper += getNeededWrapping( dimensions[ i ] );
ribbon += getNeededRibbon( dimensions[ i ] );
}
console.log( paper, ribbon );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment