亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

筆試算法題:求6*7網(wǎng)格中的黑點(diǎn)分布

時(shí)間:2023-04-05 02:31:46 筆試題目 我要投稿
  • 相關(guān)推薦

筆試算法題:求6*7網(wǎng)格中的黑點(diǎn)分布

  求網(wǎng)格中的黑點(diǎn)分布,F(xiàn)有6*7的網(wǎng)格,在某些格子中有黑點(diǎn),已知各行與各列中有黑點(diǎn)的點(diǎn)數(shù)之和,請(qǐng)?jiān)谶@張網(wǎng)格中畫出黑點(diǎn)的位置。(這是一網(wǎng)友提出的題目,說是他筆試時(shí)遇到算法題)

筆試算法題:求6*7網(wǎng)格中的黑點(diǎn)分布

  #define ROWS 6

  #define COLS 7

  int iPointsR[ROWS] = {2, 0, 4, 3, 4, 0}; // 各行黑點(diǎn)數(shù)和的情況

  int iPointsC[COLS] = {4, 1, 2, 2, 1, 2, 1}; // 各列黑點(diǎn)數(shù)和的情況

  int iCount, iFound;

  int iSumR[ROWS], iSumC[COLS], Grid[ROWS][COLS];

  int Set(int iRowNo) {

  if(iRowNo == ROWS) {

  for(int iColNo=0; iColNo < COLS && iSumC[iColNo]==iPointsC[iColNo]; iColNo++)

  if(iColNo == COLS-1) {

  printf(“\nNo.%d:\n”, ++iCount);

  for(int i=0; i < ROWS; i++)

  for(int j=0; j < COLS; j++)

  printf(“%d%c”, Grid[i][j], (j+1) % COLS ? ‘ ‘ : ‘\n’);

  iFound = 1; // iFound = 1,有解

  }

  } else {

  for(int iColNo=0; iColNo < COLS; iColNo++) {

  if(iPointsR[iRowNo] == 0) {

  Set(iRowNo + 1);

  } else if(Grid[iRowNo][iColNo]==0) {

  Grid[iRowNo][iColNo] = 1;

  iSumR[iRowNo]++; iSumC[iColNo]++; if(iSumR[iRowNo] Set(iRowNo);

  else if(iSumR[iRowNo]==iPointsR[iRowNo] && iRowNo < ROWS)

  Set(iRowNo + 1);

  Grid[iRowNo][iColNo] = 0;

  iSumR[iRowNo]–;

  iSumC[iColNo]–;

  }

  }

  }

  return iFound; // 用于判斷是否有解

  }

  int main(int argc, char* argv[]) {

  if(!Set(0))

  printf(“Failure!”);

  }

【筆試算法題:求6*7網(wǎng)格中的黑點(diǎn)分布】相關(guān)文章:

迅雷2道算法類筆試真題11-21

基于遺傳算法的OD分布03-21

求筆試經(jīng)驗(yàn)11-19

求DTT的筆試內(nèi)容11-21

求銀行的筆試形式11-21

創(chuàng)新工場(chǎng)2014筆試算法題匯總附答案11-16

基于粒子群算法的分布式論文10-27

名企筆試中不同的主觀題07-16

搜狐筆試真題編程筆試真題07-23