Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <script>
- function makeOrders(n){
- if(n == 0){
- return [[]];
- }
- if(n == 1){
- return [[0]];
- }
- var ret = [];
- var suborders = makeOrders(n-1)
- for(var i = 0; i < n; i++){
- for(var j = 0; j < suborders.length; j++){
- var suborder = suborders[j];
- var order = suborder.concat();
- order.splice(i,0,n-1);
- ret.push(order);
- }
- }
- return ret;
- }
- /*console.log(makeOrders(0));
- console.log(makeOrders(1));
- console.log(makeOrders(2));*/
- var table = [
- [1,2],
- [3,4]
- ];
- /*logTable(table);*/
- function logTable(t){
- console.log("------------------");
- for(var i = 0; i < t.length; i++){
- console.log(t[i]);
- }
- console.log("------------------");
- }
- /*logTable(reorder(table,[0,1]));
- logTable(reorder(table,[1,0]));*/
- function reorder(table, order){
- var ret = new Array(order.length);
- for(var i = 0; i < order.length; i++){
- ret[i] = new Array(order.length);
- for(var j = 0; j < order.length; j++){
- ret[i][j] = table[order[i]][order[j]]
- }
- }
- return ret;
- }
- var table = [
- [1,2,3],
- [4,5,6],
- [7,8,9]
- ];
- /*
- logTable(reorder(table,[0,2,1]));*/
- var orders = makeOrders(8)
- console.log(orders.length);
- var table = [
- [0,1,1,2,1,2,2,3],
- [1,0,2,1,2,1,3,2],
- [1,2,0,1,2,3,2,2],
- [2,1,1,0,3,2,2,1],
- [1,2,2,3,0,1,1,2],
- [2,1,3,2,1,0,2,1],
- [2,3,2,2,1,2,0,1],
- [3,2,2,1,2,1,1,0]
- ];
- for(var i = 0; i < 8; i++){
- for(var j = 0; j < 8; j++){
- table[i][j] = table[i][j] <= 1 ? 0 : 1;
- }
- }
- logTable(table)
- function evaluate(table){
- var ret = 0;
- for(var i = 0; i < 8; i++){
- for(var j = 0; j < 8; j++){
- ret += Math.abs(i-j) < 2 ? table[i][j] : 0;
- }
- }
- return ret;
- }
- console.log(evaluate(table));
- var minScore = 10000;
- for(var i = 0; i < orders.length; i++){
- var score = evaluate(reorder(table,orders[i]));
- minScore = Math.min(minScore, score);
- }
- console.log(minScore);
- </script>
- </head>
- <body>
- test
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement