题目描述:
小蓝有一条玩具蛇,一共有 16 节,上面标着数字 1 至 16。每一节都是一个正方形的形状。相邻的两节可以成直线或者成 90 度角。小蓝还有一个 4 × 4 的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字母 A 到 P 共 16 个字母。小蓝可以折叠自己的玩具蛇放到盒子里面。他发现,有很多种方案可以将玩具蛇放进去。
下图给出了两种方案:

请帮小蓝计算一下,总共有多少种不同的方案。如果两个方案中,存在玩具蛇的某一节放在了盒子的不同格子里,则认为是不同的方案。

思路:枚举蛇头的位置,然后开始dfs蛇身,当蛇身长度为16时,就可以答案++

#include <bits/stdc++.h>
#define llu unsigned long long
using namespace std;bool vis[5][5];
int ans=0;
int f[][2]={1,0,-1,0,0,-1,0,1};void dfs(int x,int y,int u)
{if(x>=4||y>=4||x<0||y<0)return ;if(u==16)ans++;for(int i=0;i<4;i++){int tx=x+f[i][0],ty=y+f[i][1];if(!vis[tx][ty]){vis[tx][ty]=1;dfs(tx,ty,u+1);vis[tx][ty]=0;}}
}int main()
{for(int i=0;i<4;i++){for(int j=0;j<4;j++){vis[i][j]=1;dfs(i,j,1);vis[i][j]=0;}}cout << ans << endl;return 0;
}

试题 E: 玩具蛇(C/C++)相关推荐

  1. 第十一届蓝桥杯C/C++B组 试题E:玩具蛇(题目+题解)

    问题描述 小蓝有一条玩具蛇,一共有16节,上面标着数字1至16.每一节都是一个正方形的形状.相邻的两节可以成直线或者成90 度角. 小蓝还有一个4×4的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字 ...

  2. 十一届蓝桥杯国赛 玩具蛇-dfs

    [问题描述] 小蓝有一条玩具蛇,一共有 16 节,上面标着数字 1 至 16.每一节都是一 个正方形的形状.相邻的两节可以成直线或者成 90 度角. 小蓝还有一个 4 × 4 的方格盒子,用于存放玩具 ...

  3. 第十一届蓝桥杯大赛软件类决赛(C/C++ 大学A组)

    蓝桥杯 2020年国赛真题 C/C++ 大学A组 试题 A: 合数个数 试题 B: 含 2 天数 试题 C: 本质上升序列 试题 D: 咫尺天涯 试题 E: 玩具蛇 试题 F: 皮亚诺曲线距离 试题 ...

  4. 第十一届蓝桥杯大赛软件类决赛(2020javaB国赛)

    第十一届蓝桥杯大赛软件类决赛 Java 大 学 B 组 目录 第十一届蓝桥杯大赛软件类决赛 试题 A: 美丽的 2 试题 B: 扩散 试题 C: 阶乘约数 试题 D: 本质上升序列 试题 E: 玩具蛇 ...

  5. 2020第十一届蓝桥杯C/C++国赛B组

    文章目录 试题 A: 美丽的 2 试题 B: 扩散 试题 C: 阶乘约数 试题 D: 本质上升序列 试题 E: 玩具蛇 试题 F: 皮亚诺曲线距离 试题 G: 游园安排 试题 H: 答疑 试题 I: ...

  6. 2020第十一届蓝桥杯大赛软件类国赛 C/C++ 大学 B 组

    成绩是国二中游,赛场上填空题写了第1,2,5题,第2题大意错了,编程题写了第7,8,10题,第7题对了样例,后两题不知道可以对多少,总分有50左右吧. 试题 A: 美丽的 2 本题总分:5 分 [问题 ...

  7. 第十一届蓝桥杯大赛软件类决赛 Python大学组

    填空(答案已测试) 试题A:美丽的2(5) 暴力,for一遍就行了 count=0 for i in range(1,2021):if "2" in str(i):count+=1 ...

  8. 2020年 第11届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  9. 2020蓝桥杯国赛Java大学B组解题报告

    文章目录 试题 A: 美丽的 2 试题 B: 扩散 试题 C: 阶乘约数 试题 D: 本质上升序列 试题 E: 玩具蛇 试题 F: 蓝肽子序列 试题 H: 画廊 试题 A: 美丽的 2 问题描述 小蓝 ...

最新文章

  1. 一周内咸鱼疯转 2.4W 次,最终被所有大厂封杀!
  2. hdu 4472 Count(递推即dp)
  3. Chrome开发者工具使用小技巧
  4. java判断句号是否对称_java 判断空格的规范度 将操作符两侧、标点符号两侧不规范的空格找出来...
  5. 旧文重现,10种职场经典寓言
  6. IT编程宝园资料分享
  7. 史上最全的Windows进程详解!
  8. 并查集:CDOJ1593-老司机破阵 (假的并查集拆除)
  9. php think queue work,thinkphp5.0无法使用think-queue包,php think queue:work命令不存在
  10. 服务器设置虚拟ip,服务器设置虚拟ip
  11. JS-变量提升与暂时性死区概念
  12. SAXReader 读文件读不出来
  13. Vue.js 学习笔记十二:Vue CLI 之创建一个项目
  14. npm ERR cb() never called报错原因及解决办法
  15. Google Play上架的App无法正常使用Facebook登录接口
  16. openvz的安装与使用
  17. antv x6 连接桩
  18. 了解 HTTPS(二) —— 通信加密
  19. 降低 Spark 计算成本 50.18 %,使用 Kyligence 湖仓引擎构建云原生大数据底座,为计算提速 2x
  20. user guide 说明

热门文章

  1. Orangepi Zero2——系统启动及wiringPi外设SDK安装
  2. 浅谈程序员数学修养:国际公司为什么用算术题招聘测试
  3. 甲骨文软件测试自学,【甲骨文(Oracle)软件测试面试】自己太菜鸟,感觉好丢人-看准网...
  4. 大厂架构经验之谈:支付系统高可用架构设计实战,可用性高达99.999!
  5. oracle aq java_java使用oracle aq
  6. 四舍五入保留一位小数
  7. 效率高低有方法 数据挖掘十大经典算法
  8. 基于Android Studio的五子棋游戏的简单设计
  9. 红米k40应用分身开启方法介绍
  10. 山东大学操作系统课程设计源码分析 filesys(2)