亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript實現N皇后問題算法謎題解答

2019-11-20 13:34:35
字體:
來源:轉載
供稿:網友

謎題

N皇后問題。將N個皇后放置在NxN的國際象棋棋盤上,其中沒有任何兩個皇后處于同一行、同一列或同一對角線上,以使得它們不能互相攻擊。

策略

回溯法。

JavaScript解

以8皇后問題為例:

復制代碼 代碼如下:

/**
 * Created by cshao on 12/28/14.
 */

function getNQueens(order) {
  if (order < 4) {
    console.log('N Queens problem apply for order bigger than 3');
    return;
  }

  var nQueens = [];
  var backTracking = false;
  rowLoop:
  for (var row=0; row<order; row++) {
    if (nQueens[row] === undefined) {
      nQueens[row] = [];
    }

    for (var col=0; col<order; col++) {
      if (nQueens[row][col] === 0) {
        continue;
      } else if (backTracking && nQueens[row][col] == 1) {
        if (col === order-1) {
          resetRow(nQueens, order, row);
          row = row - 2;
          continue rowLoop;
        }
        nQueens[row][col] = 0;
        backTracking = false;
        continue;
      }
     
      nQueens[row][col] = 1;
      if (isQueenValid(nQueens, row, col)) {
        continue rowLoop;
      } else if (col == order-1) {
        backTracking = true;
        resetRow(nQueens, order, row);
        row = row - 2;
        continue rowLoop;
      } else {
        nQueens[row][col] = 0;
        continue;
      };
    }
  }

  return nQueens;
}

function resetRow(nQueens, order, row) {
  for (var col=0; col<order; col++) {
    nQueens[row][col] = undefined;
  }
}

function isQueenValid(nQueens, row, col) {
  for (var i=0; i<col; i++) {
    if (nQueens[row][i] == 1) {
      return false;
    }
  }
  for (var j=1; j<row+1; j++) {
    if (nQueens[row-j][col]==1 || (nQueens[row-j][col-j]!=undefined && nQueens[row-j][col-j]==1) || (nQueens[row-j][col+j]!=undefined && nQueens[row-j][col+j]==1)) {
      return false;
    }
  }
  return true;
}

function printQueens(queens) {
  for (var row=0; row<queens.length; row++) {
    var rowText = '';
    for (var col=0; col<queens.length; col++) {
      if (queens[row][col]===undefined) {
        queens[row][col] = 0;
      }
      rowText = rowText + queens[row][col] + '  ';
    }
    console.log(rowText);
  }
}

var queens = getNQueens(8);
printQueens(queens);

結果

復制代碼 代碼如下:

1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91香蕉电影院| 98精品国产自产在线观看| 在线日韩中文字幕| 亚洲欧美国产高清va在线播| 久久色在线播放| 成人美女av在线直播| 亚洲人成伊人成综合网久久久| 欧洲成人在线视频| 色妞在线综合亚洲欧美| 亚洲女人被黑人巨大进入| 日韩视频在线免费| 亚洲福利视频专区| 蜜臀久久99精品久久久久久宅男| 久久久99久久精品女同性| 欧美中文在线免费| 久久综合伊人77777尤物| 精品久久久久久国产| 亚洲香蕉av在线一区二区三区| 欧美成人午夜激情在线| 亚洲a级在线播放观看| 亚洲国产欧美在线成人app| 成人欧美一区二区三区在线湿哒哒| 久久精品国产成人精品| 日韩欧美中文免费| 国产一区二区三区网站| 丰满岳妇乱一区二区三区| 国产成人精品一区二区三区| 26uuu国产精品视频| 操91在线视频| 国产精品视频专区| 国产精品一区二区av影院萌芽| 久久久午夜视频| 亚洲变态欧美另类捆绑| 国产大片精品免费永久看nba| 久久精品久久久久久国产 免费| 成人综合国产精品| 国产成人中文字幕| 欧美午夜xxx| 亚洲高清不卡av| 91成人性视频| 亚洲综合国产精品| 91免费电影网站| 中文字幕日韩精品在线观看| 色阁综合伊人av| 91精品国产高清自在线| 国产成人高清激情视频在线观看| 欧美乱大交xxxxx另类电影| 国产福利精品视频| 国产精品久久久久久搜索| 久久久精品在线观看| 国产精品久久久久国产a级| 亚洲欧美日本另类| 精品久久久久久久久久久久久| 欧美视频裸体精品| 久久久久久久999精品视频| 欧美国产一区二区三区| 在线播放日韩欧美| 国产精品v片在线观看不卡| 亚洲欧美日韩第一区| 欧美日韩成人免费| 日韩精品久久久久久福利| 欧美性猛交xxxx久久久| 国产精品久久久一区| 亚洲成色777777女色窝| 伊人久久久久久久久久久| 亚洲黄在线观看| 中文字幕不卡在线视频极品| 色偷偷av一区二区三区| 国产精品小说在线| 国产精品国模在线| 色妞在线综合亚洲欧美| 宅男66日本亚洲欧美视频| 国产日韩换脸av一区在线观看| 国内免费精品永久在线视频| 国产精品欧美久久久| 国产欧美日韩高清| www.久久色.com| 欧美激情视频在线| 国产精品白丝av嫩草影院| 国产日产亚洲精品| 亚洲国产欧美在线成人app| 欧美激情一级欧美精品| 精品久久久久久久久久国产| 久久躁日日躁aaaaxxxx| 久久成人av网站| 亚洲成人黄色网| 国产精品久久久久久影视| 日韩美女视频在线观看| 亚洲欧美在线一区| 一本一本久久a久久精品综合小说| 欧美在线亚洲在线| 欧美在线影院在线视频| 高清日韩电视剧大全免费播放在线观看| 国产在线播放91| 日本乱人伦a精品| 精品亚洲一区二区| 日本亚洲精品在线观看| 欧美第一黄色网| 亚洲人成免费电影| 久久成年人免费电影| 亚洲成人性视频| 亚洲国产欧美在线成人app| 欧美丰满少妇xxxx| 亚洲v日韩v综合v精品v| 欧美视频在线观看免费网址| 亚洲免费视频在线观看| 久久在精品线影院精品国产| 国产成人精品在线播放| 久久久久久国产免费| 国产精品一区二区三| 欧美老少配视频| 国产精品久久精品| 亚洲3p在线观看| 日韩国产欧美精品在线| 欧美精品成人在线| 欧美精品免费在线观看| 久久久久久久一区二区三区| 久久综合免费视频| 欧美一级片免费在线| 欧美做受高潮电影o| 日韩av免费在线观看| 91精品久久久久久久久久久久久| 欧美极品少妇xxxxⅹ免费视频| 欧美黄色性视频| 国产精品va在线播放| 国产成人精品综合久久久| 亚洲精品影视在线观看| 国产精品久久久久影院日本| 国产成人一区三区| 欧美成人免费一级人片100| 国产精品欧美日韩| 成人激情视频在线观看| 久久综合久久美利坚合众国| 欧美一级淫片丝袜脚交| 中文字幕日韩av综合精品| 国产成人综合亚洲| 国产成人久久久| 亚洲美女av网站| 亚洲精选在线观看| 国产精品视频在线播放| 久久精品夜夜夜夜夜久久| 黄色一区二区三区| 久久色免费在线视频| 色偷偷噜噜噜亚洲男人| 久久精品久久久久久| 日韩中文字幕在线视频播放| 亚洲视频一区二区三区| 久久久电影免费观看完整版| 欧美午夜女人视频在线| 欧美高清无遮挡| 国产综合色香蕉精品| 欧美日韩高清在线观看| 欧美性xxxx18| 国产精品久久久久久久一区探花| 亚洲自拍偷拍第一页| 精品激情国产视频| 欧美日韩中文字幕在线| 亚洲大尺度美女在线| 国产一区二区三区日韩欧美| 精品久久久久久电影| 成人黄色激情网| 亚洲电影免费观看| 日韩www在线| 国语自产精品视频在免费|