題目描述
如下圖, 有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個數的組合,然後從第乙個數字開始遍歷...