#include using namespace std;
/* 輸入char陣列、row、column
輸出掃雷棋盤
*/void readmine(char mine[100], int row, int column) }}
// 定義map
int map[9][2] = ;/*
傳入i、j,row、col
判斷是否出界
*/bool isinboundary(int row, int col, int i, int j)
return false;}/*
輸入mine、row、column、i、j
輸出(i,j)的mine個數
計算周圍8個位置的mine
*/int numberofmine(char mine[100], int row, int column, int i, int j)
} }return num;}/*
輸入棋盤,row、column
輸出ans
*/void calmine(char mine[100], int row, int column, char ans[100])
else
} }}
/* 輸入計算過的ans
輸出掃雷結果
*/void printmine(char ans[100], int row, int column, int fieldcount)
cout << endl;
} }int main()
// 讀入掃雷棋盤
readmine(mine, row, column);
// 計算掃雷
calmine(mine, row, column, ans);
if (fieldcount != 1)
// 列印輸出結果
printmine(ans, row, column, fieldcount++);
}}
挑戰程式設計 抽籤
你的朋友提議玩乙個遊戲,將寫有數字的n個紙片放入口袋中,你可以從口袋中抽取4次紙片,每次記下紙片數字後將其放回口袋中。如果這四個數字的和是m,就是你贏,否則的話就是你朋友贏,你挑戰了好幾回,結果一次也沒有贏過,於是怒而撕破口袋,取出所有紙片,檢查自己是否有贏的可能性。請你編寫乙個乙個程式,判斷紙片上...
程式設計挑戰 6
組合演算法 開乙個陣列,其下標表示1到m個數,陣列元素的值為1表示其下標代表的數被選中,為0則沒有選中。首先初始化,將陣列前n個元素置1,表示第乙個組合為前n個數 然後從左到右掃瞄陣列元素值的 10 組合,找到第乙個 10 組合後將其變為 01 組合,同時將其左邊的所有 1 全部移動到陣列的最左端 ...
併發程式設計的挑戰
併發程式設計的目的是為了讓程式執行的更快,但是,並不是啟動更多的執行緒就能讓程式最大限度的併發執行。在進行併發程式設計的時候,如果希望通過多執行緒執行任務讓程式執行的更快,會面臨非常多的挑戰,比如 上下文切換的問題 死鎖的問題以及受限於硬體和軟體資源限制問題。cpu通過時間片分配演算法來迴圈執行任務...