vonko1988

JSPillars

May 1st, 2014
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Solve(params) {
  2.     var matrix = [];
  3.  
  4.     for (var i = 0; i < 8; i++) {
  5.         var input = parseInt(params[i]);
  6.         matrix[i] = new Array;
  7.  
  8.         for (var j = 7; j >= 0; j--) {
  9.             var bit = (input >> j) & 1;
  10.  
  11.             matrix[i][7 - j] = bit;
  12.         }
  13.     }
  14.  
  15.     ////printr the matrix
  16.     //for (var i = 0; i < 8; i++)
  17.     //{
  18.     //    for (var j = 0; j < 8; j++)
  19.     //    {
  20.     //        Console.Write(matrix[i,j]);
  21.     //    }
  22.     //    Console.WriteLine();
  23.     //}
  24.  
  25.     var suchPillarsExist = false;
  26.     var counter1 = 0;
  27.     var counter2 = 0;
  28.     var rotation = 0;
  29.  
  30.     for (rotation = 0; rotation <= 7; rotation++) {
  31.         counter1 = 0;
  32.         counter2 = 0;
  33.  
  34.         for (var colLeft = 0; colLeft <= rotation - 1 ; colLeft++) {
  35.             for (var row = 0; row <= 7; row++) {
  36.  
  37.                 if (matrix[row][colLeft] == 1) {
  38.                     counter1++;
  39.                 }
  40.             }
  41.         }
  42.  
  43.         for (var colRight = rotation + 1; colRight <= 7; colRight++) {
  44.             for (var row = 0; row <= 7; row++) {
  45.                 if (matrix[row][colRight] == 1) {
  46.                     counter2++;
  47.                 }
  48.             }
  49.         }
  50.  
  51.         if (counter1 == counter2) {
  52.             suchPillarsExist = true;
  53.             break;
  54.         }
  55.     }
  56.  
  57.     if (suchPillarsExist) {
  58.         return(7 - rotation + '\n' + counter1);
  59.     }
  60.     else {
  61.         return("No");
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment