藍橋杯2016初賽 剪郵票

2022-04-17 01:41:09 字數 1230 閱讀 2610

題目描述

如下圖, 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。(僅僅連線乙個角不算相連)

比如,下面兩張圖中,粉紅色所示部分就是合格的剪取。

請你計算,一共有多少種不同的剪取方法。

輸出請填寫表示方案數目的整數。

思想:一看資料量應該就知道是乙個簡單的 dfs 或者 bfs 的題目,但是這道題的難點在於如何避免重複的

這裡採取的想法其實就是把每個方格看成二進位制的乙個位,然後看所有位算出的十進位制的數字是否一樣

#include #include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define inf 0x3f3f3f3f

#define ls nod<<1

#define rs (nod<<1)+1

const

int maxn = 1e5 + 10

;const ll mod = 20010905

;int vis[10][10

],hash[maxn];

intans;

int dir[4][2] = ,,,};

void dfs(int

cnt)

}if (!hash[temp])

return

; }

for (int i = 1;i <= 3;i++) }}

}}}int

main()

}printf(

"%d\n

",ans);

return0;

}

藍橋杯2016初賽 剪郵票 DFS

如下圖,有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 求多少種剪法。間接相當於求路徑 條數 方法數等,所以我們可以很容易的想到利用 dfs 來做。但是我沒有考慮到的是,該題的圖三 下圖 這種走法 t型呀 型呀等 dfs是走不到的,dfs最直觀的就...

2016 藍橋杯 剪郵票 dfs

這是2016年藍橋杯c語言省賽b組的第七題 題目 如下圖,有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,下面兩張圖中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。輸出 請填寫表示方案數目的整數。oj鏈結 思路 通過對...

2016藍橋 剪郵票

講述來自 感謝作者 剪郵票如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。思路 先找到5個數的組合,然後從第乙個數字開始遍歷...