宿舍裡的故事之五子棋
描述由於時間限制,將5*5的棋盤轉化成一維,為什麼二維的超時了(為什麼?)?宿舍裡好多好多有趣的事!
7890653今天看到不知何時流行的五子棋,在宿舍裡拿個本子,畫一些格仔,乙個棋盤就做好了!
當7890653把目光放到棋上,突發奇想,呵呵!乙個題目就出來了!
在乙個 5*5 的棋盤內,放上n顆棋子,其中(5<=n<=25);
這n顆棋子可以不同的放到任何乙個地方—在棋盤內!於是呼,便會有五顆棋子排成一行,
或一列,或兩條對角線,不同的放法,就會出現多少排五子的排列!
本題你要做的是,給你乙個n,你找出不同放法出現的排列(設為k),如:
n=11;
有(1是棋子,0是空格)
1 1 1 0 0
1 1 0 0 0
1 1 0 0 0
1 1 0 0 0
1 1 0 0 0
k=2;
1 1 1 1 1
1 1 1 1 0
1 1 0 0 0
0 0 0 0 0
0 0 0 0 0
k=1;
只有這兩種k值,(注意k不重複),你要輸出的便是k值的和。
也就是1+2=3!!!!!!
#include
#include
#include
#include
#include
#include
using
namespace
std;
int n,b[6][6],ans[50];
void dfs(int step,int idx)
if(i == 5)
}for(int i = 1; i<=5; i++)
if(i == 5)
}for(int i = 1; i<=5; i++)
if(j == 5)
}for(int j = 1; j<=5; j++)
if(j == 5) }}
ans[sum]++;
return;
}for(int i = idx; i<=25; i++)
}}int main()
}cout
0;}
P1479 宿舍裡的故事之五子棋(搜尋)
宿舍裡好多好多有趣的事!7890653今天看到不知何時流行的五子棋,在宿舍裡拿個本子,畫一些格仔,乙個棋盤就做好了!當7890653把目光放到棋上,突發奇想,呵呵!乙個題目就出來了!在乙個 5 5 的棋盤內,放上n顆棋子,其中 5 n 25 這n顆棋子可以不同的放到任何乙個地方 在棋盤內!於是呼,便...
下五子棋的bot 五子棋演算法
include include include include include include jsoncpp json.h c 編譯時預設包含此庫 define n 7 每個節點的分支數 以下為各棋型的識別碼 權重 define win 1 4000 define lose 2 4000 defi...
五子棋Pro 最好玩的五子棋遊戲
五子棋是一種兩人對弈的純策略型漢族棋類益智遊戲,棋具與圍棋通用,由中國古代漢族人發明,起源於中國上古時代的傳統黑白棋種之一。主要流行於華人和漢字文化圈的國家以及歐美一些地區。容易上手,老少皆宜,而且趣味橫生,引人入勝 不僅能增強思維能力,提高智力,而且富含哲理,有助於修身養性。1 多種遊戲模式 1 ...