Skip to content

Instantly share code, notes, and snippets.

@edwardrf
Last active April 8, 2016 05:16
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 edwardrf/88160523077d78a37991b8c52ce4417c to your computer and use it in GitHub Desktop.
Save edwardrf/88160523077d78a37991b8c52ce4417c to your computer and use it in GitHub Desktop.
"use strict";
q03(4);
function q03(n) {
let arr = new Array(n * 2);
fit(n);
function fit(v) {
console.log(v, arr);
if(v == 0) {
console.log("FOUND", arr);
return;
}
for(var i = v; i > 0; i --) {
for(var p = 0; p < arr.length; p++) {
// console.log(i, p, arr);
if(arr[p] || p + i + 1 > arr.length - 1 || arr[p + i + 1]) continue;
console.log('add == ', i, arr);
arr[p] = i;
arr[p + i + 1] = i;
fit(v - 1);
console.log('remove == ', i, arr);
arr[p] = 0;
arr[p + i + 1] = 0;
// break;
}
// console.log('Placed : ', placed);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment