题解 2261: 蓝桥杯2015年第六届真题-垒骰子

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

DFS(),内存超限

摘要:解题思路:    DFS()    总数=能到达顶部的路径数*pow(4,n)            (路径数不考虑四侧的情况, 故需要乘以pow(4,n) )注意事项:    说明啊!!!!程序没通……

我不是张玉想——垒骰子-题解(C++代码)

##一、解题思路:####1、暴力、动态规划(只得22分):时间复杂度o(n),n太大还是超时####2、看别人博客了解到要用矩阵快速幂,但菜鸡的我没有听过,所以我就去B站学了快速幂、矩阵快速幂,学完后重新做了一遍,过了,开心####3、快速幂、矩阵快速幂这里就不详细讲解了,

蓝桥杯2015年第六届真题-垒骰子-题解(C++代码)

```cpp/*垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1的对面是4,2的对面是5,3的对面是6。

蓝桥杯2015年第六届真题-垒骰子-题解(C++代码)

直接搜索可以得基础分。令f_{i,j}表示用i个骰子,最后一层正面朝上的为j的方案数。由于已知每个面相对的面是哪个面,所以原题的限制相当于:i和j不能相邻等价于i和j的对面不能是相邻两个正面朝上的面。例如,1和2不能相邻表示不能存在相邻两个骰子的正面朝上分别为1和5,也不能是2和4。