第六届蓝桥杯(国赛)——四阶幻方
问题描述
把 1 ~ 16 的数字填入 4 x 4 的方格中,使得行、列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方。
四阶幻方可能有很多方案,如果固定左上角为1,请计算一共有多少种方案。
比如:
1 2 15 16
12 14 3 5
13 7 10 4
8 11 6 9
以及:
1 12 13 8
2 14 7 11
15 3 10 6
16 5 4 9
就可以算为两种不同的方案。
答案提交
请提交左上角固定为 1 时的所有方案数字,不要填写任何多余内容或说明文字。
答案:416
题解
DFS: 要运行 90s 左右
#include <iostream>
using namespace std;const int N = 20;int a[N], tmp, ans;
bool st[N];void dfs(int u)
{if(u == 3) tmp = 1 + a[0] + a[1] + a[2]; // 四行 if(u == 7 && tmp != a[3] + a[4] + a[5] + a[6]) return;if(u == 11 && tmp != a[7] + a[8] + a[9] + a[10]) return;if(u == 15 && tmp != a[11] + a[12] + a[13] + a[14]) return;if(u == 12 && tmp != 1 + a[3] + a[7] + a[11]) return; // 四列 if(u == 13 && tmp != a[0] + a[4] + a[8] + a[12]) return;if(u == 14 && tmp != a[1] + a[5] + a[9] + a[13]) return;if(u == 15 && tmp != a[2] + a[6] + a[10] + a[14]) return;if(u == 15 && tmp != 1 + a[4] + a[9] + a[14]) return; // 两条对角线 if(u == 12 && tmp != a[2] + a[5] + a[8] + a[11]) return;if(u == 15) ans ++;for (int i = 2; i <= 16; i ++){if(!st[i]){a[u] = i;st[i] = true;dfs(u + 1);st[i] = false;}}
}int main()
{dfs(0);cout << ans << endl;return 0;
}
ps:四阶幻方其实是有定义的,行、列、对角线之和都是 34,但是我觉得大多数人都不知道吧 (@_@;)
第六届蓝桥杯(国赛)——四阶幻方相关推荐
- 2015年第六届蓝桥杯国赛试题(JavaA组)
1.结果填空 (满分15分) 2.结果填空 (满分35分) 3.代码填空 (满分31分) 4.程序设计(满分41分) 5.程序设计(满分75分) 6.程序设计(满分103分) 1.标题:胡同门牌号 小 ...
- 第六届蓝桥杯国赛 穿越雷区
题目描述 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废. 某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短? ...
- 2015年第六届蓝桥杯 - 省赛 - Java大学B组 - A. 三角形面积
三角形面积 如[图1]所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. Ideas 这道题跟2018年第九届蓝桥杯 - ...
- 2022年十三届蓝桥杯国赛(C/C++大学B组)个人题解
2022年十三届蓝桥杯国赛(C/C++大学B组)个人题解 更新:成绩出来了,估分50分左右,最后拿了个国二,还差点到国一,有点出乎意料,挺满意了挺满意了. 去年国赛基本都是暴力,最后国三都没拿到(我是 ...
- 第十三届蓝桥杯国赛真题 PythonB组 复盘以及获奖感言(国一!!!)
第十三届蓝桥杯国赛真题 PythonB组 复盘以及获奖感言(国一) 文章目录 第十三届蓝桥杯国赛真题 PythonB组 复盘以及获奖感言(国一)
- [第六届蓝桥杯省赛C++B组]三羊献瑞
题目来源:第六届蓝桥杯省赛C++B组 算法标签:全排列 题目描述: 观察下面的加法算式: 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4 ...
- 太空大战-第14届蓝桥杯国赛Scratch真题中级组第6题
[导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第148讲. 太空大战,本题是2023年5月28日上午 ...
- 5月29日第十三届蓝桥杯国赛python中高年级组 小鸟看对方 题目、答案和解析
5月29日的蓝桥杯国赛来了,不确定这是第几题了,sorry哈 目录 题目: 输入描述: 输出描述: 样例输入: 样例输出: 思路: 代码: 小结: 题目: 在一根电线上落有N只小鸟,有的小鸟头向左看, ...
- 第九届蓝桥杯国赛总结
蓝桥杯国赛算是结束了,也是借着这个机会去北京玩了两天,总体老说国赛蓝桥杯对我的感触还是非常深的,因为这是我第一次参加这样大规模的比赛 当时,检查完了准考证.身份证还有签上了名字之后,我们就进了机房,但 ...
- 第12届蓝桥杯国赛真题剖析-2021年5月29日Scratch编程初中级组
[导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第128讲. 第12届蓝桥杯Scratch国赛真题,这 ...
最新文章
- 【项目实战】P2P金融数据指标分析
- Matlab的不同进制转换
- [译] Fiber内幕:深入概述React新的协调算法
- CF1415D:XOR-gun(异或)
- 面向对象(二)——三大特性(封装、继承、多态)
- phoenix 开发API系列(一)创建简单的http api
- 方便好用的论文管理软件EndNote X9 + PDF阅读编辑器Adobe Acrobat DC(1)
- linux 小度 驱动_糯米WiFi安装Linux驱动 (同时支持百度WiFi、小米WiFi、腾讯全民WiFi、360WiFi)...
- 计算机常见故障判断与排除,电脑常见故障诊断与排除从新手到高手
- 3航空公司客户价值分析
- shared_ptr中的owner_before解析(最易懂,最全面)
- 双系统安装 Ubuntu 18.04 以及删除双系统中的 Ubuntu 的方法
- [线性代数]向量2-范数三角不等式证明
- 防治脖子痛的简易保健操
- zk-snark的算法详解
- proxifier for mac 破解版 v2.19
- 其他——调试时chrom崩溃
- Simulink —— PMSM基础及FOC控制模型
- 微信小程序解析unionid
- 联筑赚:盘扣脚手架构件维护保养及退场验收规范