Advertisement
Valleri

Telerik Academy Exam 2 @ 8 Feb 2012 - Problem 2 Crossword

Aug 4th, 2014
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Solve(args) {
  2.     var n = parseInt(args[0]);
  3.  
  4.     var allWords = [""];
  5.  
  6.     for (var i = 1; i < args.length; i++) {
  7.         allWords.push(args[i]);
  8.  
  9.     }
  10.  
  11.     var endResult = [];
  12.  
  13.     for (var i = 1; i < n*2+1; i++) {
  14.         for (var j = 1; j <  n*2+1; j++) {
  15.             for (var k = 1; k < n*2+1; k++) {
  16.                 for (var l = 1; l < n*2+1; l++) {
  17.                     for (var m = 0; m < n*2+1; m++) {
  18.                         for (var o = 0; o < n*2+1; o++) {
  19.                             var needsToBeFour = allWords[i] + allWords[j] + allWords[k] + allWords[l] +
  20.                                                 allWords[m] + allWords[o];
  21.                             var words = [];
  22.                             if(needsToBeFour.length == n*n) {
  23.                                 if(i != 0) {
  24.                                     words.push(allWords[i]);
  25.                                 }
  26.                                 if(j != 0) {
  27.                                     words.push(allWords[j]);
  28.                                 }
  29.                                 if(k != 0) {
  30.                                     words.push(allWords[k]);
  31.                                 }
  32.                                 if(l != 0) {
  33.                                     words.push(allWords[l]);
  34.                                 }
  35.                                 if(m != 0) {
  36.                                     words.push(allWords[m]);
  37.                                 }
  38.                                 if(o != 0) {
  39.                                     words.push(allWords[o]);
  40.                                 }
  41.                                 var matrix1 = [];
  42.  
  43.                                 for (var p = 0; p < n; p++) {
  44.                                     matrix1[p] = [];
  45.                                     var currWord = words[p];
  46.                                     for (var q = 0; q < n; q++) {
  47.                                         matrix1[p][q] = currWord.charAt(q);
  48.                                     }
  49.                                 }
  50.                                 var isThere = true;
  51.  
  52.                                 for (var p = 0; p < matrix1.length; p++) {
  53.                                     var wordzy = "";
  54.                                     for (var q = 0; q < matrix1.length; q++) {
  55.                                         wordzy += matrix1[q][p];
  56.  
  57.                                     }
  58.                                     if(allWords.indexOf(wordzy) == -1) {
  59.                                         isThere = false;
  60.                                     }
  61.  
  62.                                 }
  63.  
  64.                                 if(isThere) {
  65.                                     var currResult = [];
  66.                                     for (var p = 0; p < matrix1.length; p++) {
  67.                                         currResult.push(matrix1[p].join(''));
  68.                                     }
  69.                                     if(endResult.length == 0) {
  70.                                         endResult = currResult;
  71.                                     }
  72.                                     else {
  73.                                         var endRes = endResult.join('');
  74.                                         var currRes = currResult.join('');
  75.                                         if(endRes > currRes) {
  76.                                             endResult = currResult;
  77.                                         }
  78.                                     }
  79.  
  80.                                 }
  81.  
  82.                             }
  83.  
  84.  
  85.                         }
  86.  
  87.                     }
  88.  
  89.                 }
  90.  
  91.             }
  92.  
  93.         }
  94.  
  95.     }
  96.     if(endResult == "") {
  97.         console.log('NO SOLUTION!');
  98.     }
  99.     else {
  100.         console.log(endResult.join('\n'));
  101.     }
  102. }
  103.  
  104. Solve(["4",
  105.     "FIRE",
  106.     "ACID",
  107.     "CENG",
  108.     "EDGE",
  109.     "FACE",
  110.     "ICED",
  111.     "RING",
  112.     "CERN"
  113. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement