五年級上冊第七單元作文:讀《圓明園的毀滅》有感
求網格中的黑點分布。現有6*7的網格,在某些格子中有黑點,已知各行與各列中有黑點的點數之和,請在這張網格中畫出黑點的位置。(這是一網友提出的題目,說是他筆試時遇到算法題)

#define ROWS 6
#define COLS 7
int iPointsR[ROWS] = {2, 0, 4, 3, 4, 0}; /pic/p>
int iPointsC[COLS] = {4, 1, 2, 2, 1, 2, 1}; /pic/p>
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; /pic/p>
}
} 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; /pic/p>
}
int main(int argc, char* argv[]) {
if(!Set(0))
printf(“Failure!”);
}
【五年級上冊第七單元作文:讀《圓明園的毀滅》有感】相關文章:
五年級上冊第七單元作文04-30
五年級第七單元作文《圓明園的毀滅》讀后感(精選44篇)10-24
圓明園的毀滅作文01-15
圓明園的毀滅作文02-09
五年級上冊七單元作文:圓明園的毀滅讀后感(精選16篇)10-30
五年級上冊第七單元作文(通用21篇)08-13
五年級上冊第七單元作文(通用23篇)10-19
五年級上冊第七單元作文(通用50篇)12-11
讀《圓明園的毀滅》有感作文11-12
讀圓明園的毀滅有感作文12-19
- 相關推薦