第六节蓝桥杯 方格填数
2018-06-17 21:19:43来源:未知 阅读 ()
转载请注明出处:http://www.cnblogs.com/zhishoumuguinian/p/8392793.html
标题:方格填数在2行5列的格子中填入1到10的数字。要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的。如【图1.png】所示的2种,就是合格的填法。请你计算一共有多少种可能的方案。请提交该整数,不要填写任何多余的内容(例如:说明性文字)。
思路:我先做的第七届的题,这个题的思路和第七届的《第七届蓝桥杯 方格填数》,《第七届蓝桥杯 寒假作业》思路是一样的。那也粘上代码。
代码运行结果:42
1 #include <iostream> 2 #include <algorithm> 3 #include <math.h> 4 5 using namespace std; 6 7 int ans=0; 8 int a[2][5]; 9 int flag[15]={0}; 10 bool Check(int x, int y) 11 { 12 if(x==0&&y==0) 13 return true; 14 if(x==0) 15 { 16 if(a[x][y-1]<a[x][y]) return true; 17 } 18 else 19 { 20 if(y==0) 21 { 22 if(a[x-1][y]<a[x][y]) return true; 23 } 24 else 25 { 26 if((a[x][y-1]<a[x][y])&&(a[x-1][y]<a[x][y])) return true; 27 } 28 29 } 30 return false; 31 } 32 void dfs(int x, int y) 33 { 34 if(x==2) 35 { 36 ans++; 37 return; 38 } 39 for(int i=1; i<=10; i++) 40 { 41 if(flag[i]==0) 42 { 43 44 a[x][y]=i; 45 flag[i]=1; 46 if(Check(x,y)) 47 { 48 if(y<4) dfs(x,y+1); 49 else dfs(x+1,0); 50 } 51 flag[i]=0; 52 } 53 } 54 } 55 56 int main() 57 { 58 dfs(0,0); 59 cout<<ans; 60 return 0; 61 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:cpuimage 开源之
下一篇:hdu 1078
- [题记-并查集] 合根植物 - 蓝桥杯 2020-04-07
- 蓝桥杯练习(入门一) 2020-03-23
- 【蓝桥杯】十六进制转八进制 2020-02-17
- #《Essential C++》读书笔记# 第六章 以template进行编程 2020-02-15
- 全球变暖(18年4月蓝桥杯) 2019-12-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash