在看了一篇關於連連看通路檢測算發的啟發下篇寫的,列出**如下:
// 連連看通路檢測演算法
//#include
//using namespace std;
#include
int main ()
;// 設定選中座標
// (要改進)要檢測位置是否相同,值是否相同
short set1x = 4, set1y = 1, set2x = 2, set2y = 3;
// 處理過程
// 縱向處理
// 快取初始
// (要改進)快取長度應該可以設定
short set1bufy[6][2] =;
short set2bufy[6][2] =;
// 基點放入快取
set1bufy[0][0] = set1x;
set1bufy[0][1] = set1y;
set2bufy[0][0] = set2x;
set2bufy[0][1] = set2y;
// 縱向檢測:基點1以上
short nbufy = 1;
for (short tmpy = set1y - 1; tmpy >= 0; --tmpy)
else
}// 縱向檢測:基點1以下
for (short tmpy = set1y + 1; tmpy < mapy; ++tmpy)
else
}set1bufy[nbufy][0] = 0;
set1bufy[nbufy][1] = 0;
// 縱向檢測:基點2以上
nbufy = 1;
for (short tmpy = set2y - 1; tmpy >= 0; --tmpy)
else
}// 縱向檢測:基點2以下
for (short tmpy = set2y + 1; tmpy < mapy; ++tmpy)
else
}set2bufy[nbufy][0] = 0;
set2bufy[nbufy][1] = 0;
// 縱向檢測:橫向通路檢測
// 連通標誌
bool bchkok = false;
for (short nchklink1 = 0; !(set1bufy[nchklink1][0] == 0 && set1bufy[nchklink1][1] == 0); ++nchklink1)
else
bchkok = true;
short tmpvy = set1bufy[nchklink1][1];
for (short mstep = nstep; mstep != 0; mstep += opnum)
else
}// 如果通路連通則顯示連通資訊
if (bchkok == true)
}else}}
}// 縱向處理完畢
// 橫向處理
// 快取初始
// (要改進)快取長度應該可以設定
short set1bufx[7][2] =;
short set2bufx[7][2] =;
// 基點放入快取
set1bufx[0][0] = set1x;
set1bufx[0][1] = set1y;
set2bufx[0][0] = set2x;
set2bufx[0][1] = set2y;
// 橫向檢測:基點1以左
short nbufx = 1;
for (short tmpx = set1x - 1; tmpx >= 0; --tmpx)
else
}// 橫向檢測:基點1以右
for (short tmpx = set1x + 1; tmpx < mapx; ++tmpx)
else
}set1bufx[nbufx][0] = 0;
set1bufx[nbufx][1] = 0;
// 橫向檢測:基點2以左
nbufx = 1;
for (short tmpx = set2x - 1; tmpx >= 0; --tmpx)
else
}// 橫向檢測:基點2以右
for (short tmpx = set2x + 1; tmpx < mapx; ++tmpx)
else
}set2bufx[nbufx][0] = 0;
set2bufx[nbufx][1] = 0;
// 橫向檢測:縱向通路檢測
// 連通標誌
bchkok = false;
for (short nchklink1 = 0; !(set1bufx[nchklink1][0] == 0 && set1bufx[nchklink1][1] == 0); ++nchklink1)
else
bchkok = true;
short tmpvx = set1bufx[nchklink1][0];
for (short mstep = nstep; mstep != 0; mstep += opnum)
else
}// 如果通路連通則顯示連通資訊
if (bchkok == true)
}else}}
}// 橫向處理完畢
// 處理過程完畢
// 如果通路不能連通則顯示不能連通資訊
if (bchkok == false)
return 0;
}
BFS 連連看遊戲 乙個讓人感覺很複雜的BFS
時間限制 2 sec 記憶體限制 5 mb 提交 12 解決 3 提交 狀態 討論版 大家都玩過連連看吧!今天我們玩乙個類似的遊戲。在乙個由10 10個小方格組成的矩形裡有n n 10 對字元 它們是大寫字元中的前n個 矩形裡有些位置是可以從上面走過,有些則不能。能走過的位置用 標識,不能的用 標識...
用Quick Cocos2dx做乙個連連看(二)
今天完成了以下內容 1 成對生成spriteitem 2 重排介面製作完成 3 spriteitem的選擇邏輯 主要 如下 1 function mainscene onenter 2local item 3local item0 4local temptype 1 5for i 1,32 do6 ...
第乙個bfs題目 hdu1175連連看
include include include using namespace std define maxn 1005 用於儲存點資訊的結構 typedef struct node int x,y 座標資訊 unsigned short change 轉彎次數資訊 int dic 點的方向資訊 n...