藍橋杯 2016 3 方格填數

2021-07-26 15:36:02 字數 952 閱讀 1622

如下的10個格仔

填入0~9的數字。要求:連續的兩個數字不能相鄰。

(左右、上下、對角都算相鄰)

一共有多少種可能的填數方案?

dfs就好

但是,我加了乙個list的優化

更要命的是

這個list是用stl實現的

(好吧,其實是我已經懶到手寫鍊錶都不會了)

下面普及list的用法

list.erase(it) 這個是函式 返回刪除元素的下乙個迭代器

e.g list = [0, 1, 2, 3, 4 …] it = list.erase(list.begin()) *it = 1

同樣list.insert(it, x)也是個函式,返回的是插入這個元素的迭代器

e.g list = [0, 1, 2, 3, 4 …] it = list.insert(list.begin(), -1) *it = -1

特別注意 是在前面插入的

所以此時 list 變成 [-1, 0, 1, 2, …]

總之這樣,就可以解決藍橋杯裡面一切小學奧數問題

並且用了stl, 非常優雅

#include using namespace std;

listli;

int g[20];

bool adj(int a, int b)

bool ok(int i, int x)

int ans = 0;

void dfs(int k) }}

int main()

dfs(0);

cout << ans << endl;

}

答案1580

備考藍橋杯(19)方格填數(DFS) java實現

package pers.robert.lanqiaobei07 剪郵票如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填...

藍橋杯 方格填數

方格填數 如下的10個格仔 如果顯示有問題,也可以參看 圖1.jpg 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。include include in...

方格填數 藍橋杯

如下的10個格仔 如果顯示有問題,也可以參看 圖1.jpg 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。解 可以直接用全排列的方法解決,但是用dfs ...