第六届蓝桥杯 四阶幻方
转载请注明出处:http://www.cnblogs.com/zhishoumuguinian/p/8395458.html
把1~16的数字填入4x4的方格中,使得行、列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方。四阶幻方可能有很多方案。如果固定左上角为1,请计算一共有多少种方案。
比如: 以及:
1 2 15 16 1 12 13 8
12 14 3 5 2 14 7 11
13 7 10 4 15 3 10 6
8 11 6 9 16 5 4 9
就可以算为两种不同的方案。请提交左上角固定为1时的所有方案数字,不要填写任何多余内容或说明文字。
答案:416
1 #include <iostream> 2 #include <fstream> 3 #include <iomanip> 4 using namespace std; 5 int a[5][5]; 6 int flag[20]={0}; 7 int ans=0; 8 bool Check(int x, int y) 9 { 10 if(x<3) 11 { 12 if(y<3) return true; 13 if(a[x][0]+a[x][1]+a[x][2]+a[x][3]==34) 14 return true; 15 return false; 16 } 17 else 18 { 19 if(y==0) 20 if((a[0][0]+a[1][0]+a[2][0]+a[3][0]!=34)||(a[0][3]+a[1][2]+a[2][1]+a[3][0]!=34)) return false; 21 if(y==1||y==2) 22 if(a[0][y]+a[1][y]+a[2][y]+a[3][y]!=34) return false; 23 if(y==3) 24 if((a[0][y]+a[1][y]+a[2][y]+a[3][y]!=34)||(a[0][0]+a[1][1]+a[2][2]+a[3][3])!=34) return false; 25 return true; 26 } 27 } 28 29 30 void dfs(int x, int y) 31 { 32 if(x==4) 33 { 34 ans++; 35 return; 36 } 37 for(int num=1; num<=16; num++) 38 { 39 if(flag[num]==0) 40 { 41 a[x][y]=num; 42 flag[num]=1; 43 if(Check(x,y)) 44 { 45 if(y<3) dfs(x,y+1); 46 else dfs(x+1,0); 47 } 48 flag[num]=0; 49 } 50 } 51 52 53 } 54 55 int main() 56 { 57 flag[1]=1; 58 a[0][0]=1; 59 dfs(0,1); 60 cout<<ans; 61 62 return 0; 63 }
闲的把所有四阶幻方都打印出来了,感兴趣可以看一下《四阶幻方所有可能穷举》。
转载于:https://www.cnblogs.com/zhishoumuguinian/p/8395458.html
第六届蓝桥杯 四阶幻方相关推荐
- java实现第六届蓝桥杯四阶幻方
四阶幻方 把1~16的数字填入4x4的方格中,使得行.列以 及两个对角线的和都相等,满足这样的特征时称 为:四阶幻方. 四阶幻方可能有很多方案.如果固定左上角为1 ,请计算一共有多少种方案. 比如: ...
- 第六届蓝桥杯大赛个人赛决赛(C/C++大学B组)
第六届蓝桥杯大赛个人赛决赛(C/C++大学B组) 第一题 积分之迷(15分) 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单 ...
- [第六届蓝桥杯省赛C++B组]三羊献瑞
题目来源:第六届蓝桥杯省赛C++B组 算法标签:全排列 题目描述: 观察下面的加法算式: 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4 ...
- 第六届蓝桥杯大赛个人赛省赛Java B组真题
文章目录 第六届蓝桥杯大赛个人赛省赛Java B组真题 1. 三角形面积(结果填空) 2. 立方自变身(结果填空) 3. 三羊献瑞(结果填空) 4. 循环节长度(代码填空) 5. 九数组分数(代码填空 ...
- 第六届蓝桥杯真题总结
第六届蓝桥杯真题总结 第一题:奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求 ...
- 2015年第六届蓝桥杯C/C++B组省赛题目解析
1.奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是 ...
- 2015第六届蓝桥杯全国软件大赛省赛(预赛)总结
这是我上大学以来第一次自发的写总结,这也许意味着我对大学的看法和接下来的大学生活都将有所改变吧.首先说说引导我写这篇总结的"人物"吧,RUI,从大一开始便是同学,直到大三成为了舍友 ...
- 【蓝桥杯】第六届蓝桥杯大赛个人赛省赛(软件类) Java大学C组 -题目与答案
第六届蓝桥杯大赛个人赛省赛(软件类) Java大学C组 -题目与答案 1.结果填空(满分3分) 2.结果填空(满分5分) 3.结果填空(满分9分) 4.代码填空(满分11分) 5.代码填空(满分15分 ...
- 2015年第六届蓝桥杯 - 省赛 - Java大学B组 - A. 三角形面积
三角形面积 如[图1]所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. Ideas 这道题跟2018年第九届蓝桥杯 - ...
最新文章
- 激光雷达lidar与点云数据
- js实现给a href= href赋值
- python 回文数
- netbeans卸载 linux,NetBeans_6.1自己使用。(linux-ubuntu下)
- pythonurllib微博登录怎么删_Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据...
- 人们常说的微型计算机简称为 机,(精华版)国家开放大学电大专科《计算机文化基础》网络课单项选择题题库及答案...
- MATLAB中空间滤波卷积有什么作用
- BZOJ-2768: [JLOI2010]冠军调查(超级裸的最小割)
- PyQT5一起学做图书管理系统(2)初始化数据库
- 2019-CS224n-Assignment3
- ListView分页操作
- 如何使用树莓派 连接千寻开发板开发高精度应用
- 每个人都会有的第一次
- git clone报错Could not resolve proxy : proxy-szn
- 被修饰成单栋的倾斜摄影处理思路
- python量化策略——大类资产配置模型(最小方差模型)
- CSS文字超出用省略号...鼠标悬停显示全部文字
- live555服务器测试
- python文章抄袭检测_用Python写了个检测文章抄袭,详谈去重算法原理
- 一个数的亲和数iiic++_小学1-6年级数学公式和定律