遞推+模擬。在讀取資料時,我們建4個圖,分別代表這個圖中橫、縱、左斜右斜的連續長度。例如heng[i][j]代表ij這個點所在的橫著一條線的長度。
然後搜尋,對於乙個空點,如果他的上下都》=4那麼如果這個點放上去答案會-1,如果上下都<=4且加起來再+1>4,說明這個點放上去會+1.
左右、左上右下、右上左下以此類推。最後如果這個點》=1就輸出。
#include #include#include
#include
#include
#define in(a) a=read();
#define rep(i,k,n) for(int i=k;i<=n;i++)
using
namespace
std;
inline
intread()
int n,map[45][45
];int heng[45][45],zong[45][45],zuo[45][45],you[45][45
];int
main()
}for(int i=n;i>=1;i--)
for(int j=n;j>=1;j--)
if(map[i][j]==1
) rep(i,
1,n)
rep(j,
1,n)
if(map[i][j]==0
)
return0;
}
下五子棋的bot 五子棋演算法
include include include include include include jsoncpp json.h c 編譯時預設包含此庫 define n 7 每個節點的分支數 以下為各棋型的識別碼 權重 define win 1 4000 define lose 2 4000 defi...
窮舉五子棋
本想窮舉五子棋必勝點,可惜呀,這貨窮舉太不現實了,寫出來了,根本沒辦法執行出來結果 include include include define rl 17 char s 14 int five rl rl void init void void print void int cs int i,in...
普通 五子棋
五子棋 五子棋是世界智力運動會競技專案之一,是一種兩人對弈的純策略型棋類遊戲,是世界智力運動會競技專案之一,通常雙方分別使用黑白兩色的棋子,下在棋盤直線與橫線的交叉點上,先形成5子連線者獲勝。棋具與圍棋通用,起源於中國上古時代的傳統黑白棋種之一。主要流行於華人和漢字文化圈的國家以及歐美一些地區,是世...