Vova JS Puzzle
by paulftw
JavaScript
var test1 = [
[5,4,3,2,1],
[4,1],
[5,0,0],
[6,4,2],
[1],
];
var test2 = [
[5,4,3,2,1],
];
var test2 = [
[5,4,3,2,1],
];
var ans = [];
var take_cur_and_next = function(a, x, l, n) {
var s = 0;
for (var i = 0; i < l; i++) {
s += a[i][x[i]];
}
ans.push(s);
n--;
if (!n) {
return;
}
best_opt = -1e20;
best_i = -1;
for (var i = 0; i < l; i++) {
if (a[i].length == x[i] - 1) {
continue;
}
var opt = a[i][x[i + 1]] - a[i][x[i]];
if (opt > best_opt) {
best_opt = opt;
best_i = i;
}
}
if (i == -1) {
return;
}
};
var solve = function(a, n) {
ans = [];
if (!n) {
return ans;
}
var max_n = _.foldl(_.map(a, _.size), function(a,b) {return a*b;}, 1);
n = _.min([n,max_n]);
console.log('max_n', max_n, n);
var l = a.length;
var x = [];
for (var i = 0; i < l; i++) {
x[i] = 0;
}
take_this_and_next(a, x, l, n);
return ans[];
};
solve(test1);