美文网首页
[蓝桥杯2016初赛]剪邮票

[蓝桥杯2016初赛]剪邮票

作者: Vincy_ivy | 来源:发表于2020-03-14 16:49 被阅读0次

题目描述

如下图, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)


比如,下面两张图中,粉红色所示部分就是合格的剪取。


image image

请你计算,一共有多少种不同的剪取方法。

输出

请填写表示方案数目的整数。

代码

#include<iostream>
#include<ctime>
#include<cmath>
#include<bits/stdc++.h>
using namespace std;
int sum=0;
int dir[4][2]={{-1,0},{1,0},{0,1},{0,-1}};
int visit[3][4];
int has[100010];
//每个方格看成二进制的一个位,然后比较所有位算出的十进制的数字是否一样

void dfs(int n){
    if(n==5){
        int temp=0;
        for(int i=0;i<3;i++){
            for(int j=0;j<4;j++){
                temp+=visit[i][j];
                temp<<=1;
            }
        }
        if(!has[temp]){
            sum++;
            has[temp]=1;
        }
        return;
    }
    for(int i=0;i<3;i++){
        for(int j=0;j<4;j++){
            if(visit[i][j]){
                for(int k=0;k<4;k++){
                    int xx=i+dir[k][0];
                    int yy=j+dir[k][1];
                    if(!visit[xx][yy]&&xx<3&&yy<4&&xx>=0&&yy>=0){
                        visit[xx][yy]=1;
                        dfs(n+1);
                        visit[xx][yy]=0;
                    }
                }
            }
        }
    }
}

int main()
{
    for(int i=0;i<3;i++){
        for(int j=0;j<4;j++){
            visit[i][j]=1;
            dfs(1);
            visit[i][j]=0;
        }
    }
    cout<<sum;
}

相关文章

  • [蓝桥杯2016初赛]剪邮票

    题目描述 如下图, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不...

  • [蓝桥杯2016初赛]交换瓶子

    题目描述 有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4,要求每次拿起2个瓶子,交换...

  • [蓝桥杯2016初赛]平方怪圈

    题目描述 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。如此一来,你...

  • [蓝桥杯2016初赛]报纸页数

    参考博客 题目描述 X星球日报和我们地球的城市早报是一样的,都是一些单独的纸张叠在一起而已。每张纸印有4版。比如,...

  • [蓝桥杯2016初赛]方格填数

    题目描述 如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少...

  • [蓝桥杯2016初赛]寒假作业

    题目描述 现在小学的数学题目也不是那么好玩的。看看这个寒假作业: 每个方块代表1~13中的某一个数字,但不能重复。...

  • 蓝桥杯-剪邮票【全排列+联通块dfs】

    剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接...

  • [蓝桥杯2019初赛]糖果

    题目描述 糖果店的老板一共有M 种口味的糖果出售。为了方便描述,我们将M种口味编号1~M。小明希望能品尝到所有口味...

  • [蓝桥杯2015初赛]移动距离

    题目描述 X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3... 当排满一行时,从下一...

  • [蓝桥杯2015初赛]手链样式

    题目 题解 对于语文不好的我理解“转动”和“翻转”理解了很久(狼狈.jpg)转动:得到的排列的起点不是固定的,比如...

网友评论

      本文标题:[蓝桥杯2016初赛]剪邮票

      本文链接:https://www.haomeiwen.com/subject/smcgshtx.html