宿舍裡的故事之五子棋

2021-08-13 23:02:15 字數 1249 閱讀 6967

宿舍裡的故事之五子棋

描述

宿舍裡好多好多有趣的事!

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!!!!!!

由於時間限制,將5*5的棋盤轉化成一維,為什麼二維的超時了(為什麼?)?

#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 ...