蓝桥杯 六角形中填置1~12个数字 dfs

如图【1.png】所示六角形中,填入1~12的数字。

使得每条直线上的数字之和都相同。

图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?

请通过浏览器提交答案,不要填写多余的内容。

/*
*将12个数字放置到12个位置中,深度搜索,暴力枚举的方法
*每放置一个数字,检查之前所放置位置的数字是否出现重复
*当恰好放置12个数字并且六个边的和相同打印出所有的数字
*/
#include<stdio.h>
#include<string.h>
int t[6];
int num[12];
void dfs(int cur){
t[0]=num[1]+num[4]+num[7]+num[9];
t[1]=num[2]+num[5]+num[4]+num[6];
t[2]=num[1]+num[5]+num[8]+num[12];
t[3]=num[6]+num[8]+num[11]+num[3];
t[4]=num[9]+num[10]+num[11]+num[12];
t[5]=num[2]+num[7]+num[10]+num[3];
//恰好放置12个数字,+1为13
if(cur==13){
//六个边的和恰好相同
if(t[0]==t[1] && t[1]==t[2] && t[2]==t[3] && t[3]==t[4] && t[4]==t[5] &&t[5]==t[0])
//打印结果
for(int f=1;f<=12;f++)
printf("%d ",num[f]);
}
//否则继续放置数字,从1开始逐个放置
else for(int i=1;i<=12;i++){
//标记变量
int ok=1;
for(int j=1;j<cur;j++){
//检查当前放置的数字是否在此之前放置过
if(num[j]==i)
ok=0; //如果放置过标记变量为0
}
if(ok){
//放置该数字
num[cur]=i;
//进行下一步搜索
dfs(cur+1);
}
}
}
int main(){
num[1]=1;num[2]=8;num[3]=3;
dfs(4);
return 0;
}

时间: 2024-10-19 02:20:29

蓝桥杯 六角形中填置1~12个数字 dfs的相关文章

2014蓝桥杯——六角填数

标题:六角填数 如图所示六角形中,填入1~12的数字. 使得每条直线上的数字之和都相同. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填写多余的内容. 1 #include <iostream> 2 #include <cmath> 3 #include <cstdio> 4 #include <cstring> 5 using namespace std; 6 7 #define eps 10e-10 8

蓝桥杯训练中的考新郎问题

题目内容: 国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目, 叫做"考新郎",具体的操作是这样的:首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;然后, 让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.最后,揭开盖头,如果找错了对象就要当众跪搓 衣板.. 假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能. 输入描述 N M 输出描述 可能的种数 输入样例 3

蓝桥杯 2014本科C++ B组 地宫取宝 DFS+记忆化搜索

历届试题 地宫取宝   时间限制:1.0s   内存限制:256.0MB 问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿). 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明. 请你帮小明算一算,在给定的局面下,他有多少种不

蓝桥杯 2014本科C++ B组 六角填数 枚举排列

标题:六角填数 如图[1.png]所示六角形中,填入1~12的数字. 使得每条直线上的数字之和都相同. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填写多余的内容. 简单的枚举排列,只要提前将12个结点标号,来判断六个线段总和是否相等. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define MAXN 13 5 int num

六角填数---第五届蓝桥杯

/* * 如图[1.png]所看到的六角形中,填入1~12的数字. 使得每条直线上的数字之和都同样. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案.不要填写多余的内容. */ public class 六角填数 { public static void main(String[] args) { // TODO Auto-generated method stub long start = System.currentTimeMillis(); //

第五届蓝桥杯C/C++本科B组(真题试做)(6~8)

终于考完--不过挂科的铁定的了. 还是来做题吧. 前面八道题做起来都很简单. F: 标题:奇怪的分式 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子.分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的). 显然,交换分子分母后,例如:4/1 乘以 5/8

算法笔记_111:第五届蓝桥杯软件类省赛真题(Java本科A组)试题解答

 目录 1 猜年龄 2 李白打酒 3 神奇算式 4 写日志 5 锦标赛 6 六角填数 7 绳圈 8 兰顿蚂蚁 9 斐波那契 10 波动数列   前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 1 猜年龄 标题:猜年龄 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍".小明又补充说:"她们可不是双胞胎,年龄差肯定也不超过8岁啊." 请你写出:小明的较小的妹妹的年龄. 注意: 只写一个人的年龄数

蓝桥杯 地宫取宝(12&#39;)

X 国王有一个地宫宝库.是n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大, 小明就可以拿起它(当然,也可以不拿). 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明. 请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这k件宝贝. [数据格式] 输入一行 3个整数,用空格分开:n m

2015 蓝桥杯:4.格子中输出

*/--> pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;}