2015蓝桥杯C++A组——垒骰子

第六届蓝桥杯【省赛试题9】垒骰子 ( 矩阵快速幂 ) 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。  经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。  假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。  atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰 阅读详情

垒骰子题目链接

问题描述

【题目描述】
在这里插入图片描述
【输入】
在这里插入图片描述
【输出】
在这里插入图片描述
【样例输入】

2 1
1 2

【样例输出】

544

题目解析

暴力法求解

假设最顶层的上面那个面是1,n表示骰子数目,调用f(1,n-1),也就是递归调用f求出剩余n-1骰子垒出的方案数,接着分别假设最顶层的上面那个面是2、3、4、5、6,同样的方法用f求出各自方案对应的剩余n-1骰子的方案数。在求解过程中利用 c o n f l i c t [ ] [ ] conflict[][] conflict[][]二维数组对当前状态加以判断,如果存在冲突就 c o n t i n u e continue continue继续执行下一种方案。注意我们考虑的所有方案数最后都要*4因为前后左右可以来回掉换位置。

用这种方法可以解决30%的问题数,对于大规模的问题求解计算量太大,我们考虑以下两种方法。

动态规划求解

动态规划的关键就是 d p [ ] [ ] dp[][] dp[][]数组的更新迭代。我们令 d p [ i ] [ j ] dp[i][j] dp[i][j]表示在第 i i i层 j j j在上面这个面的方案数。我们从最后一层开始递推,其表达式是 d p [ i ] [ j ] = ∑ x = 1 6 d p [ i − 1 ] [ x ] ∣ o p [ j ] 与 x 不 冲 突 dp[i][j]=\sum_{x=1}^{6}dp[i-1][x]|op[j]与x不冲突 dp[i][j]=x=1∑6​dp[i−1][x]∣op[j]与x不冲突当推到最上面一层时,直接用 a n s = ∑ x = 1 6 d p [ n ] [ x ] ans=\sum_{x=1}^{6}dp[n][x] ans=x=1∑6​dp[n][x]
在这里插入图片描述

矩阵求解

沿用上一种解法的思路,进一步优化,假设 f ( i , j ) = ∑ k = 1 6 f ( i − 1 , k ) ∣ o p [ j ] 与 k 不 冲 突 f(i,j)=\sum_{k=1}^{6}f(i-1,k)|op[j]与k不冲突 f(i,j)=k=1∑6​f(i−1,k)∣op[j]与k不冲突我们怎么才能快速的从 f 1 f_1 f1​到 f n f_n fn​呢,假设一个列向量 [ f i − 1 , f i − 2 , . . . f i − n ] T = [ 1 , 1 , . . . 1 ] T [f_{i-1},f_{i-2},...f_{i-n}]^T=[1,1,...1]^T [fi−1​,fi−2​,...fi−n​]T=[1,1,...1]T,以及一个冲突矩阵 T T T,以样例输入为例,1面和2面冲突,则冲突矩阵 T T T就是
[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} &1 &1 &1 &1 &1 \\ &1 &1 &1 &1 &1 \\ &1 &1 &1 &1 &1 \\ &1 &0 &1 &1 &1 \\ &0 &1 &1 &1 &1 \\ &1 &1 &1 &1 &1 \end{bmatrix} ⎣⎢⎢⎢⎢⎢⎢⎡​​111101​111011​111111​111111​111111​⎦⎥⎥⎥⎥⎥⎥⎤​
表示当前上面这个面为4时,则下一层的上面这个面不能为2,因为4的底面是1,1与2冲突,同理当前上面这个面为5时,下一层上面这个面不能为1。

存在这样关系 f _ n = T n − 1 × [ 1 , 1 , . . . 1 ] T f_\_n=T^{n-1}×[1,1,...1]^T f_​n=Tn−1×[1,1,...1]T求出的 f _ n f_\_n f_​n是一个列向量,把这个列向量各个数相加就是 a n s ans ans。

C++代码

暴力法代码

#include<bits/sdtc++.h>
using namespace std;
#define MOD 1000000007
int op[7]; //面对面的骰子数
bool conflict[7][7];
int n,m;
long long int f(int up,int cnt) //递归
{
    if(cnt==0) return 4; //前面n个骰子都定好了这就是4个方案
    long long ans = 0;
    for(int upp=1;upp<=6;upp++)
    {
        if(conflict[op[up]][upp]) continue;
        ans+=f(upp,cnt-1);
    }
    return ans;
}
void init()
{
    op[1]=4;
    op[4]=1;
    op[2]=5;
    op[5]=2;
    op[3]=6;
    op[6]=3;
}
int main()
{
    init();
    scanf("%d %d",&n,&m);
    for(int i=0;i<m;i++)
    {
        int x,y;
        scanf("%d %d",&x,&y);
        conflict[x][y] = true;
        conflict[y][x] = true;
    }
    long long ans = 0;
    for(int up=1;up<=6;up++) //最上面的面的数字是up
    {
        ans = (ans+4*f(up,n-1))%MOD;
    }
    printf("%lld",ans);
    return 0;
}

dp法代码

#include<bits/stdc++.h>
using namespace std;
#define MOD 1000000007
long long dp[2][7]; //dp[i][j]表示有i层,定朝上的数字为j的稳定方案数
int n,m;
bool conflict[7][7];
map<int,int> op;
void init()
{
    op[1] = 4;
    op[4] = 1;
    op[2] = 5;
    op[5] = 2;
    op[3] = 6;
    op[6] = 3;
}
int main()
{
    init();
    scanf("%d %d",&n,&m);
    for(int i=0;i<m;i++)
    {
        int a,b;
        scanf("%d %d",&a,&b);
        conflict[a][b] = true;
        conflict[b][a] = true;
    }
    for(int j=1;j<=6;j++)
        dp[0][j] = 1;
    int cur = 0; //连续滚动
    for(int level=2;level<=n;level++) //迭代层数
    {
        cur = 1-cur;
        for(int j=1;j<=6;j++) //尝试将6个面放在当前一层朝上的方向
        {
            dp[cur][j] = 0;
            for(int i=1;i<=6;i++) //将与op[j]不冲突的上一层个字里面的数累加起来
            {
                if(conflict[op[j]][i]) continue;
                dp[cur][j] = (dp[cur][j]+dp[1-cur][i])%MOD;
            }
        }
    }
    long long sum = 0;
    for(int k=1;k<=6;k++)
        sum = (sum+dp[cur][k])%MOD;
    long long ans = 1; //快速幂求4的n次方
    long long tmp = 4;
    long long p = n;
    while(p!=0)
    {
        if(p&1==1) ans = (ans*tmp)%MOD;
        tmp = (tmp*tmp)%MOD;
        p>>=1;
    }
    printf("%lld",(sum*ans)%MOD);
    return 0;
}

矩阵法代码

#include<bits/stdc++.h>
using namespace std;
#define MOD 1000000007
typedef long long LL;
int n,m;
map<int,int> op;
void init()
{
    op[1] = 4;
    op[4] = 1;
    op[2] = 5;
    op[5] = 2;
    op[3] = 6;
    op[6] = 3;
}
struct M
{
    LL a[6][6];
    M()
    {
        for(int i=0;i<6;i++)
            for(int j=0;j<6;j++)
                a[i][j] = 1;
    }
};
M mMultiply(M m1,M m2)
{
    M ans;
    for(int i=0;i<6;i++)
    {
        for(int j=0;j<6;j++)
        {
            ans.a[i][j] = 0;
            for(int k=0;k<6;k++)
                ans.a[i][j]=(ans.a[i][j]+m1.a[i][k]*m2.a[k][j])%MOD;
        }
    }
    return ans;
}
M mPow(M m,int k) //求M的k次方
{
    M ans; //单位矩阵
    for(int i=0;i<6;i++)
    {
        for(int j=0;j<6;j++)
        {
            if(i==j) ans.a[i][j] = 1;
            else ans.a[i][j] = 0;
        }
    }
    while(k!=0)
    {
        if(k&1==1)
        {
            ans = mMultiply(ans,m);
        }
        m = mMultiply(m,m);
        k>>=1; //向右移动1位
    }
    return ans;
}
int main()
{
    init();
    scanf("%d %d",&n,&m);
    M cMatrix;
    for(int i=0;i<m;i++)
    {
        int a,b;
        scanf("%d %d",&a,&b);
        //完善冲突矩阵
        cMatrix.a[op[a]-1][b-1] = 0;
        cMatrix.a[op[b]-1][a-1] = 0;
    }
    M cMatrix_n_1 = mPow(cMatrix,n-1); //冲突矩阵的n-1次方
    LL ans = 0;
    for(int j=0;j<6;j++)
        for(int i=0;i<6;i++)
            ans = (ans+cMatrix_n_1.a[i][j])%MOD;
    LL t = 1;
    LL tmp = 4;
    LL p = n;
    while(p!=0)
    {
        if(p&1==1) t = (t*tmp)%MOD;
        tmp = (tmp*tmp)%MOD;
        p>>=1;
    }
    printf("%lld",ans*t%MOD);
    return 0;
}
蓝桥杯国赛C++A组B组题解整理(第八、七、六、五、四届) 【写在前面的话19.04.04】 今年省赛的结果出的意外得快,有很多小伙伴来和我分享他们进了省一的喜悦,并问我啥时候更新国赛题解,emmm……不是我不想更新,实在是抽不出时间,我现在手上还有四个比赛,忙成狗QAQ 题解嘛,有缘再更……虽然不更新题解,但是我决定这次提前写一点注意事项吧,省得大家来不及准备hhhhh 首先要注意的一点是,蓝桥杯和别的比赛不同的是,并不是你进了省一就默认你国三了,如... 阅读详情

相关推荐

2015第六届蓝桥杯 C/C++C组真题及题解

1. 隔行变色Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,....现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。请你直接提交这个整数,千万不要填写任何多余的内容。【分析】取余运算        奇数行蓝色,偶数行白色。#include &lt;stdio.h&gt; int ma...

cr496352127的博客 3515

蓝桥杯2015c++A组真题&代码第九题垒骰子

蓝桥杯2015c++A组真题&amp;代码第九题垒骰子 /* 垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。...

Willen_的博客 382

2015年第六届C/C++ B组蓝桥杯省赛真题

2015年第六届C/C++ B组蓝桥杯省赛真题真题第一题:奖券数目第二题:星系炸弹第三题:三羊献瑞第四题:格子中输出第五题:九数组分数第六题:加法变乘法第七题:牌型种数第八题:移动距离第九题:垒骰子第十题:生命之树题解第一题:奖券数目第二题:星系炸弹第三题:三羊献瑞第四题:格子中输出第五题:九数组分数第六题:加法变乘法第七题:牌型种数第八题:移动距离第九题:垒骰子第十题:生命之树 真题 第一题:奖券数目 题目描述 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之

qq_52134928的博客 1455

2015年第六届蓝桥杯省赛C/C++ A组 垒骰子题解(100分)

9. 垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的

——Light! 2933

【动态规划 矩阵快速幂】P8624 [蓝桥杯 2015 省 AB] 垒骰子|普及+

## 题目描述 赌圣 atm 晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:$1$ 的对面是 $4$,$2$ 的对面是 $5$,$3$ 的对面是 $6$。 假设有 $m$ 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm 想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相

闻缺陷则喜何志丹 1207

Transformer在量化交易中的应用:从时序预测到策略生成

Transformer模型凭借其强大的自注意力机制,在自然语言处理领域取得了革命性突破。其核心原理是通过并行计算和动态权重分配,有效捕捉序列数据中的长距离依赖关系。这一特性使其在金融时间序列分析中展现出巨大技术价值,能够处理市场数据中的复杂非线性模式和长期关联。在量化交易场景下,Transformer可将价格、成交量等连续数据通过离散化分桶处理,转化为类似文本的序列,进而进行预测或直接生成交易信号。本文以QuantGPT项目为例,探讨了如何将这一前沿AI架构迁移应用于金融领域,涵盖了从数据作为“语言”的编码

weixin_26757949的博客 366

2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - I. 垒骰子

题目 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相同...

Alex 656

【Xilinx】如何在petalinux下编译vcu-gst-app以及独立编译vcu-gst-app

Xilinx从2018.1开始,提供了一套基于zcu106的vcu参考设计。里面提供了一套基于GStreamer的程序,即vcu-gst-app。如何脱离petalinux直接编译呢,这里以为例,其他版本也是类似的操作。

王师傅 3040

蓝桥杯2015年第六届C/C++省赛A组第九题-垒骰子

题目描述 源代码 #include <iostream> #include <cstring> using namespace std; #define MOD 1000000007 bool conflict[7][7] ; int f[7][2]; int op[7]={0,4,5,6,1,2,3}; int main() { memset(conflict,1, sizeof(conflict)); int n,m; cin>>n>

hero_th的博客 287

Mac上除了Homebrew,这几种安装ADB的方法你可能也需要知道(含手动配置避坑)

本文全面解析Mac上五种ADB安装方案,从Homebrew到手动配置,涵盖常见问题解决与环境变量配置。特别针对macOS High Sierra等老旧系统提供专属解法,帮助开发者高效安装Android Debug Bridge(ADB),避免常见陷阱,提升开发效率。

weixin_42546392的博客 322

低功耗和UPF介绍

参考[UPF]低功耗(Low Power Design)and UPF介紹

青春易逝,愿不负昭华,期待梦与远方 1万+

[蓝桥杯]垒骰子

​ 垒骰子 题目描述 赌圣 atm 晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 mm 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm 想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。 由于方案数可

qq_2937655951的博客 825

MTK 平台功耗优化策略全解析:Clock 管控、GPU 同步与 Preview 降帧实战方案

在中高端移动终端影像系统中,Camera 模块已成为功耗的关键来源之一,尤其是在高帧率拍摄、AI 模式实时预览等场景下,ISP、Sensor、GPU 与 SoC 时钟频率的大幅提升极易引发系统发热与续航瓶颈。MTK 平台基于多级功耗控制机制,构建了包括 Clock Gate 管理、GPU 时序协同、预览流降帧、Pipeline 低功耗切换等在内的影像功耗优化策略。本文聚焦于 MTK Camera 系统中的核心功耗控制点,基于实际项目部署案例,系统拆解其在不同模式下的节能路径设计与调试方法,为终端厂商与影像系

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2527

2015蓝桥杯省赛C/C++ 垒骰子 两种思路讨论

2015蓝桥杯省赛C/C++ 垒骰子 两种思路讨论 好久没写博客了,上次写好像还是上一届蓝桥杯… 话不多说,我们先上题。 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方

weixin_45783661的博客 1051

从4A架构的角度出来 帮我分析一下:数字化转型深水区:企业架构如何成为价值重构的核心引擎?

4A 架构的本质是构建企业的数字神经系统,通过业务感知、数据传输、决策执行、技术支撑的闭环,实现从效率提升到生态重构的质变。正如华为通过该架构实现全球研发资源统一调度,某零售集团借此打造线上线下融合的新零售体系,当业务、数据、应用、技术四个维度形成共振时,企业将获得持续进化的数字免疫力,在不确定的市场环境中保持韧性生长。这一过程不仅需要技术工具的升级,更依赖组织文化的变革 —— 从 “部门墙” 到 “能力网” 的转型,才是数字化转型深水区的终极挑战。

金牌架构师 1046

【unity游戏开发入门到精通——UGUI】文本控件 —— TextetMeshPro新文本控件(TextMeshPro - Text(UI)和TextMeshPro - Text)

文本组件是UGUI中最常用的组件,它的作用是对文本数据进行处理并显示。UGUI的文本组件可以分两为种——Text旧文本控件、TextMeshPro新文本组件。本文主要是介绍TextMeshPro新文本控件,而TextMeshPro新文本控件又可以分为两种——TextMeshPro - Text(UI)和TextMeshPro - Text。TextMeshPro是Unity收购的一个第三方插件,现在已经自动内置到编辑器中,只要使用一次就会自动导入到工程。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3766

垒骰子

垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相...

xd-cy的博客 1292

SecOC专题之新鲜值TripCnt

本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。

qq_22969363的博客 1155

2015年第六届蓝桥杯C++B组I题

2015年第六届蓝桥杯C++B组I题 垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同...

qq_44624316的博客 1252

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[蓝桥杯][2015年第六届真题]垒骰子(只是给自己复习用)

[蓝桥杯][2015年第六届真题]垒骰子 题目描述: 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。 由

Hgg657046415的博客 620

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

P8624 [蓝桥杯 2015 省 AB] 垒骰子【 矩阵快速幂】

赌圣 atm 晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!1的对面是42的对面是53的对面是6。假设有m组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。atm 想计算一下有多少种不同的可能的垒骰子方式。两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。由于方案数可能过多,请输出模1097的结果。

海岛Blog 329

蓝桥杯2015届C++B组省赛真题 垒骰子

题目: 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。 由于方案数可能过多,请输出模 10^9 + 7

qq_53133234的博客 271

蓝桥杯2015年(第6届)省赛b组c/c++ 垒骰子

垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方...

qq_40570410的博客 248

垒骰子|2015年蓝桥杯B组题解析第九题-fishers

垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相...

weixin_30387663的博客 531

2015年第六届蓝桥杯【省赛C/C++ A组】刷题报告(C++描述)

2015年第六届蓝桥杯【省赛C/C++ A组】做题记录,保持手感,专注备赛。

KI的博客 8万+
上一篇: 2015蓝桥杯C++A组——饮料换购
下一篇: 2015蓝桥杯C++A组——灾后重建
wxydsq_123
博客等级 码龄8年 2650粉丝 91原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wxydsq_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值