#include<stdio.h>
int n,ans,last[10][10],vis[10][10];//last数组记录此位置可走格子数
int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
int in(int x, int y) {return x>=1&&x<=n&&y>=1&&y<=n;
}
void dfs(int x,int y,int d) {vis[x][y]=1;if(x==n&&y==1) {if(d==n*n) ans++;vis[x][y]=0;return;}   int p=0,pi;for(int i=0;i<4;i++) {int tx=x+dir[i][0];int ty=y+dir[i][1];if(in(tx,ty)&&!vis[tx][ty]) {last[tx][ty]--;if(last[tx][ty]==1){//必须走这个格子p=1;pi=i;}}}if(p==1) {int tx=x+dir[pi][0];int ty=y+dir[pi][1];        dfs(tx,ty,d+1);}else if(p==0) {for(int i=0;i<4;i++) {int tx=x+dir[i][0];int ty=y+dir[i][1];if(in(tx,ty)&&!vis[tx][ty]) {dfs(tx,ty,d+1);            }}}vis[x][y]=0;for(int i=0;i<4;i++) {int tx=x+dir[i][0];int ty=y+dir[i][1];if(in(tx,ty)&&!vis[tx][ty]) {last[tx][ty]++;}}
}
int main() {scanf("%d",&n);for(int i=1;i<=n;i++) {for(int j=1;j<=n;j++) {if((i==1||i==n)&&(j==1||j==n)) last[i][j]=2;else if(i==1||i==n||j==1||j==n) last[i][j]=3;else last[i][j]=4;}}last[n][1]++;//终点便于统一处理dfs(1,1,1);printf("%d",ans);return 0;
}

Betsy 的旅行 剪枝优化相关推荐

  1. tensorflow如何微调时如何只训练后两层_TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变...

    晓查 编译自 Medium 量子位 报道 | 公众号 QbitAI 去年TensorFlow官方推出了模型优化工具,最多能将模型尺寸减小4倍,运行速度提高3倍. 最近现又有一款新工具加入模型优化&qu ...

  2. TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

    晓查 编译自 Medium 量子位 报道 | 公众号 QbitAI 去年TensorFlow官方推出了模型优化工具,最多能将模型尺寸减小4倍,运行速度提高3倍. 最近现又有一款新工具加入模型优化&qu ...

  3. 深度优先搜索(DFS) 总结(算法+剪枝+优化总结)

    深度优先搜索(DFS) 总结(算法+剪枝+优化总结) 本文中会引用部分实例.文献资料来自不同的作者之手,由于资料整理比较困难,转载地址不在文中列举.如有侵权请联系我更换或删除!对于提供题解思路的各位大 ...

  4. CC00015.kylin——|HadoopOLAP_Kylin.V15|——|Kylin.v15|Cube优化|Cuboid剪枝优化|

    一.Cube优化 ### --- Cuboid剪枝优化~~~ Cuboid 特指 Kylin 中在某一种维度组合下所计算的所有数据. ~~~ 以减少Cuboid数量为目的的优化统称为Cuboid剪枝. ...

  5. 递归与回溯5:剪枝优化

    我们说过,回溯法虽然是暴力搜索,但也有时候可以有点剪枝优化一下的,主要就是去掉那些不必要的递归,从而提高执行效率.例如假如有五个男孩子都和一个女生说要厮守终生.她会和这五个人都先过一辈子再确定谁会真正 ...

  6. 回溯算法及其剪枝优化修改----学习笔记

    视频来源:代码随想录 https://www.bilibili.com/video/BV1cy4y167mM (递归函数)/(回溯函数):回溯就是递归的过程 回溯搜索法:是纯暴力搜索 例如: 组合问题 ...

  7. DFS剪枝优化 小猫爬山 数独

    DFS剪枝策略总结 优化搜索顺序 优先搜索分支数少(剩余选择少)的情况 排除等效冗余 若对顺序没有要求 可以将排列转化为组合 可行性剪枝 不合法的情况不进行搜索 最优化剪枝 若当前的"消耗& ...

  8. 力扣638. 大礼包(回溯法+剪枝优化)

    第八十八天 --- 力扣638. 大礼包 题目一 思路:回溯法 代码 无剪枝的回溯 剪枝优化 Sum Up 题目一 力扣:力扣638. 大礼包 思路:回溯法 1.我们先不考虑礼包,直接去买东西,就是物 ...

  9. Levenshtein编辑距离算法的改进---剪枝优化

    Levenshtein编辑距离算法的改进-剪枝优化   我们在先前的一篇博客中已经阐明了Levenshtein编辑距离算法,首先介绍算法的思想,后来介绍了根据跳转列表生成所有编辑方案的方法,并通过附带 ...

最新文章

  1. Python零基础入门(1)——Linux下编程图形化界面的安装
  2. 安装CentOs 5.5后无法显中文(中文乱码)
  3. python化学题_中国大学mooc《化学教学论(朱汝葵 陈思静 汤希雁)》考试期末答案高校邦《Python程序设计基础【实境编程】》课后作业答案...
  4. 05 JS基础DOM
  5. gui界面怎么分页_什么是用户界面和体验设计
  6. java futuretask 实例_java 使用Callable+FutureTask获取执行结果
  7. 异构计算助力客户春节webp图片编码
  8. IOS – OpenGL ES 调节图像灰色 GPUImageGrayscaleFilter
  9. 初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、
  10. asp.net mvc 发布问题
  11. ASM 转自三思笔记,改成自己看着舒服的格式而已
  12. windows计算机桌面隐藏文件,成功隐藏Windows电脑文件的四种方法
  13. Linux 教程: (Linux基础+命令大全)
  14. 中职学校计算机专业课程设置,中职学校计算机专业课程设置的几点思考
  15. mysql 口令_怎么样为用户设定口令(MYSQL)_MySQL
  16. Sublime 中文命名乱码(显示为方框)
  17. 宠物网页代码 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
  18. 简要介绍一下Dos/Windows格式文件和Unix/Linux格式文件(剪不断理还乱的\r\n和\n)
  19. 微信点击链接:debugx5.qq.com提示您使用的不是x5内核
  20. Windows CMD命令添加开机启动项

热门文章

  1. 上帝为什么创造了九寨沟
  2. 穷人想创业,应该如何找到正确的创业方向?
  3. 父div随着子div的高度改变而改变
  4. IO流------缓冲流、转换流、序列化流、commons-io工具包
  5. Use MusicBrainz in iOS(二)通过歌曲名查询信息
  6. vsto excel 表格存在循环引用 删除名称管理器很慢
  7. Winfrom 播放MP3音乐文件
  8. 【面试题】JS面试大全
  9. 9.0 apk加载H5页面时报错WebView is not allowed in privileged processes, apk加载H5 webview加载不出来的问题
  10. cpe解读 nmap_NMAP六种端口状态解读-转载