2014年第五届蓝桥杯C/C++ A组国赛 —— 第二题:六角幻方
标题:六角幻方
把 1 2 3 … 19 共19个整数排列成六角形状,如下:
* * ** * * ** * * * ** * * * * * *
要求每个直线上的数字之和必须相等。共有15条直线哦!
再给点线索吧!我们预先填好了2个数字,第一行的头两个数字是:15 13,参见图【p1.png】,黄色一行为所求。
请你填写出中间一行的5个数字。数字间用空格分开。
这是一行用空格分开的整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字等)
Code
/*^....0^ .1 ^1^.. 011.^ 1.0^ 1 ^ ^0.11 ^ ^..^0. ^ 0^.0 1 .^.1 ^0 .........001^.1 1. .111100....01^00 11^ ^1. .1^1.^ ^0 0^.^ ^0..1.1 1..^1 .0 ^ ^00. ^^0.^^ 0 ^^110.^0 0 ^ ^^^10.01^^ 10 1 1 ^^^1110.101 10 1.1 ^^^1111110010 01 ^^ ^^^1111^1.^ ^^^10 10^ 0^ 1 ^^111^^^0.1^ 1....^11 0 ^^11^^^ 0.. ....1^ ^ ^1. 0^ ^11^^^ ^ 1 111^ ^ 0.10 00 11 ^^^^^ 1 0 1.0^ ^0 ^0 ^^^^ 0 0.0^ 1.0 .^ ^^^^ 1 1 .0^.^ ^^ 0^ ^1 ^^^^ 0. ^.11 ^ 11 1. ^^^ ^ ^ ..^^..^ ^1 ^.^ ^^^ .0 ^.00..^ ^0 01 ^^^ .. 0..^1 .. .1 ^.^ ^^^ 1 ^ ^0001^ 1. 00 0. ^^^ ^.0 ^.1. 0^. ^.^ ^.^ ^^^ ..0.01 .^^. .^ 1001 ^^ ^^^ . 1^. ^ ^. 11 0. 1 ^ ^^ 0.0 ^. 0 ^0 1 ^^^ 0.0.^ 1. 0^ 0 .1 ^^^ ...1 1. 00 . .1 ^^^ ..1 1. ^. 0 .^ ^^ ..0. 1. .^ . 0 ..1 1. 01 . . ^ 0^.^ 00 ^0 1. ^ 1 1.0 00 . ^^^^^^ ..^ 00 01 ..1. 00 10 1 ^^.1 00 ^. ^^^ .1.. 00 .1 1..01 ..1.1 00 1. ..^ 10^ 1^ 00 ^.1 0 1 1.1 00 00 ^ 1 ^. 00 ^.^ 10^ ^^1.1 00 00 10^..^ 1. ^. 1.0 1 ^. 00 00 .^^ ^. ^ 1 00 ^0000^ ^ 011 0 ^. 00.0^ ^00000 1.00.1 11. 1 0 1^^0.01 ^^^ 01.^ ^ 1 1^^ ^.^1 1 0... 1 ^1 1^ ^ .01 ^ 1.. 1.1 ^0.0^ 0 1..01^^100000..0^1 1 ^ 1 ^^1111^ ^^0 ^ ^ 1 1000^.1 ^.^ . 00.. 1.1 0. 01. . 1. .^1. 1 1. ^0^ . ^.1 00 01^.0 001. .^*/
/* Procedural objectives:Variables required by the program:Procedural thinking:Functions required by the program:Determination algorithm:Determining data structure:*/
/* My dear Max said:
"I like you,
So the first bunch of sunshine I saw in the morning is you,
The first gentle breeze that passed through my ear is you,
The first star I see is also you.
The world I see is all your shadow."FIGHTING FOR OUR FUTURE!!!
*/
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;int num[20];
int ans[20];
bool vis[20];void dfs(int index){if(index==4&&(ans[1]+ans[2]+ans[3]!=38))return;if(index==8&&(ans[4]+ans[5]+ans[6]+ans[7]!=38))return;if(index==9&&(15+ans[4]+ans[8]!=38))return;if(index==13&&(ans[8]+ans[9]+ans[10]+ans[11]+ans[12]!=38))return;if(index==14&&((13+ans[5]+ans[9]+ans[13]!=38)||(ans[3]+ans[7]+ans[12]!=38)))return;if(index==17&&((ans[13]+ans[14]+ans[15]+ans[16]!=38)||(13+ans[6]+ans[11]+ans[16]!=38)))return;if(index==18&&((ans[3]+ans[6]+ans[10]+ans[14]+ans[17]!=38)||(ans[3]+ans[6]+ans[10]+ans[14]+ans[17]!=38)))return;if(index==19&&(ans[7]+ans[11]+ans[15]+ans[18]!=38||ans[4]+ans[9]+ans[14]+ans[18]!=38))return;if(index==20){if(ans[17]+ans[18]+ans[19]==38){cout<<ans[8]<<' '<<ans[9]<<' '<<ans[10]<<' '<<ans[11]<<' '<<ans[12]<<endl;return;}}for(int i=1;i<20;i++){if(!vis[i]){vis[i]=true;ans[index]=num[i];dfs(index+1);vis[i]=false;}}
}int main(){ans[1]=15;ans[2]=13;vis[13]=vis[15]=true;for(int i=1;i<20;i++) num[i]=i;dfs(3);return 0;
}
2014年第五届蓝桥杯C/C++ A组国赛 —— 第二题:六角幻方相关推荐
- 2014年第五届蓝桥杯C/C++ A组国赛 —— 第一题:海盗分金币
标题:海盗分金币 有5个海盗,相约进行一次帆船比赛. 比赛中天气发生突变,他们被冲散了. 恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人. 第一个人在沙滩 ...
- 2016年第七届蓝桥杯C/C++ C组国赛 —— 第二题:反幻方
反幻方 我国古籍很早就记载着 2 9 4 7 5 3 6 1 8 这是一个三阶幻方.每行每列以及对角线上的数字相加都相等. 下面考虑一个相反的问题. 可不可以用 1~9 的数字填入九宫格. 使得:每行 ...
- 2014年第五届蓝桥杯C/C++ A组国赛 —— 第四题:排列序数
标题:排列序数 如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号: abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 ...
- 2014年第五届蓝桥杯C/C++ A组国赛 —— 第三题:日期差
标题:日期差 历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦.幸好今天我们统一使用公元纪年法.当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的. ...
- 2018年第九届蓝桥杯C/C++ C组国赛 —— 第二题:最大乘积
标题:最大乘积 把 1~9 这9个数字分成两组,中间插入乘号, 有的时候,它们的乘积也只包含1~9这9个数字,而且每个数字只出现1次. 比如: 984672 * 351 = 345619872 987 ...
- 2018年第九届蓝桥杯C/C++ A组国赛 —— 第二题:阅兵方阵
标题:阅兵方阵 x国要参加同盟阅兵活动. 主办方要求每个加盟国派出的士兵恰好能组成 2 个方阵. x国发现弱小的 y国派出了130人的队伍,他们的士兵在行进中可以变换2种队形: 130 = 81 + ...
- 2013年第四届蓝桥杯C/C++ A组国赛 —— 第二题:骰子迷题
标题:骰子迷题 小明参加了少年宫的一项趣味活动:每个小朋友发给一个空白的骰子(它的6个面是空白的,没有数字),要小朋友自己设计每个面写哪个数字.但有如下要求: 每个面只能填写 0 至 8 中的某一个数 ...
- 2019第十届蓝桥杯C/C++ A组省赛 —— 第二题: 数列求值
试题 B: 数列求值 本题总分:5 分 [问题描述] 给定数列 1, 1, 1, 3, 5, 9, 17, -,从第 4 项开始,每项都是前 3 项的和.求 第 20190324 项的最后 4 位数字 ...
- 2015年第六届蓝桥杯C/C++ B组国赛 —— 第一题:积分之迷
标题:积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:315 ...
最新文章
- python程序如何做界面_python是如何写界面程序的?
- 【原创】RabbitMQ 之 Access Control(翻译)
- MyEclipse创建JavaWeb应用和TomCat的配置
- Ubuntu 查看操作系统的位数
- ios 权限提示语_iOS工作室都在用按键v1.6.1(体验版)
- 最优化学习笔记(十)——对偶线性规划
- Perl: print @globbing.\n; 和 print @globbing; 不一样,一个已经转换为数组元素个数了...
- 用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)
- 基于Android的家庭财务管理流程图,SYL_Android_FamilyFinaceSystem 双鱼林基于安卓Android家庭财务管理系统毕业课程设计源码 - 下载 - 搜珍网...
- 抓包神器之Charles,常用功能都在这里了
- 高性能集群软件Keepalived之安装配置篇
- Linux RTC驱动模型分析
- java正则表达式http_Java 正则表达式(精华)
- 如何写好简历与迎接面试
- 程序设计与数据结构_周立功【读书笔记】
- eff java_EFF要求大学不要出售给专利巨魔
- Jquery中$(document).ready()的作用
- 神通数据库OSCAR安装
- HT1382时钟芯片代码
- 山西财经大学计算机好考吗,听说这是中国最难考的12所“财经”大学,山西财经大学入选,位列第十!...
热门文章
- 【腾讯Bugly干货分享】动态链接库加载原理及HotFix方案介绍
- ElementTree中的getchildren and getiterator
- 定制IE浏览器的尖兵利器 - BHO
- oracle 10G windows启动与关闭另类方法
- 华为手机充满有提醒吗_华为推出的联发科天玑手机华为nova8 SE,你会买吗?
- linux编译动态库未定义,自定义动态库 对‘*’未定义的引用解决方法
- 云鲸扫拖一体机器人说明书_比老公更好用的扫拖一体机—自动洗拖布的云鲸扫拖机器人使用体验...
- Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积
- Java多线程-线程状态
- 7.1使用Request获取HTTP请求头