国产视频最新网址|这里只有精品中文字幕情侣酒店|精品成人一区二区|91久久蜜桃网站|AV成人电影五区|欧美精品在线一区|秋霞午夜一区日韩|国产午夜成人免费看片不卡|98精品美女视频日韩一区精品视频|亚洲综合久久国产不卡日本岛国久久

筆試算法題:求6*7網格中的黑點分布

時間:2023-04-05 02:31:46 筆試題目 我要投稿
  • 相關推薦

筆試算法題:求6*7網格中的黑點分布

  求網格中的黑點分布,F有6*7的網格,在某些格子中有黑點,已知各行與各列中有黑點的點數之和,請在這張網格中畫出黑點的位置。(這是一網友提出的題目,說是他筆試時遇到算法題)

筆試算法題:求6*7網格中的黑點分布

  #define ROWS 6

  #define COLS 7

  int iPointsR[ROWS] = {2, 0, 4, 3, 4, 0}; // 各行黑點數和的情況

  int iPointsC[COLS] = {4, 1, 2, 2, 1, 2, 1}; // 各列黑點數和的情況

  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網格中的黑點分布】相關文章:

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

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

求筆試經驗11-19

求DTT的筆試內容11-21

求銀行的筆試形式11-21

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

筆試面試成績怎么算法11-12

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

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

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