题意:现在小学的数学题目也不是那么好玩的。

看看这个寒假作业:

□ + □ = □

□ - □ = □

□ × □ = □

□ ÷ □ = □

每个方块代表1~13中的某一个数字,但不能重复。

比如:

6 + 7 = 13

9 - 8 = 1

3 * 4 = 12

10 / 2 = 5

以及:

7 + 6 = 13

9 - 8 = 1

3 * 4 = 12

10 / 2 = 5

就算两种解法。(加法,乘法交换律后算不同的方案)

你一共找到了多少种方案?

分析:回溯即可,但是如果等到cur==12再统一判断,时间复杂度会达到2的13次方,非常慢,所以当一个式子填完后立即判断,不满足则立即返回。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define lowbit(x) (x & (-x))

const double eps = 1e-8;

inline int dcmp(double a, double b){

if(fabs(a - b) < eps) return 0;

return a > b ? 1 : -1;

}

typedef long long LL;

typedef unsigned long long ULL;

const int INT_INF = 0x3f3f3f3f;

const int INT_M_INF = 0x7f7f7f7f;

const LL LL_INF = 0x3f3f3f3f3f3f3f3f;

const LL LL_M_INF = 0x7f7f7f7f7f7f7f7f;

const int dr[] = {0, 0, -1, 1, -1, -1, 1, 1};

const int dc[] = {-1, 1, 0, 0, -1, 1, -1, 1};

const int MOD = 1e9 + 7;

const double pi = acos(-1.0);

const int MAXN = 100 + 10;

const int MAXT = 10000 + 10;

using namespace std;

int vis[15];

int a[15];

int ans;

void dfs(int cur){

if(cur == 3){

if(a[0] + a[1] != a[2]) return;

}

if(cur == 6){

if(a[3] - a[4] != a[5]) return;

}

if(cur == 9){

if(a[6] * a[7] != a[8]) return;

}

if(cur == 12){

if(a[10] * a[11] == a[9]){

++ans;

}

return;

}

for(int i = 1; i <= 13; ++i){

if(vis[i]) continue;

vis[i] = 1;

a[cur] = i;

dfs(cur + 1);

a[cur] = 0;

vis[i] = 0;

}

}

int main(){

dfs(0);

printf("%d\n", ans);

return 0;

}

蓝桥杯c语言试题寒假作业,2016蓝桥杯省赛C/C++A组第六题 寒假作业(示例代码)相关推荐

  1. 第十届蓝桥杯c语言试题,第十届蓝桥杯真题编程题1-7解析(高级组).pdf

    scratch 少儿编程第十届蓝桥杯真题 7 大家好 ~今天我们来讲解 scratch 蓝桥杯第十届编程大题的第七道题. 同样,这道题也是非常有难度的一道题.一起来看一下吧 解析: 女孩的程序 1.在 ...

  2. 2016蓝桥杯C++A组第六题 寒假作业【暴力搜索】

    原题: 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业:□ + □ = □□ - □ = □□ × □ = □□ ÷ □ = □(如果显示不出来,可以参见[图1.jpg])每个方块代表1~13 ...

  3. 蓝桥杯比赛java试题及答案,2011蓝桥杯高职java试题及部分参考答案

    <2011蓝桥杯高职java试题及部分参考答案>由会员分享,可在线阅读,更多相关<2011蓝桥杯高职java试题及部分参考答案(14页珍藏版)>请在人人文库网上搜索. 1.20 ...

  4. 蓝桥杯c语言试题寒假作业,寒假作业--蓝桥杯

    寒假作业 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □+ □ =□ □- □ =□ □ × □=□ □ ÷ □=□ (如果显示不出来,可以参见[图1.jpg]) 每个方块代表1~13中 ...

  5. 蓝桥杯c语言试题幸运数,蓝桥杯  历届试题 幸运数  dfs

    时间限制:1.0s   内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...

  6. 五邑大学校级蓝桥杯c语言试题,【智能制造学部】第十届“蓝桥杯”软件类校内选拔赛顺利举行...

    11月24日上午,由国家工业和信息化部.人才交流中心主办,共青团五邑大学委员会.五邑大学学生会协办,智能制造学部承办的第十届"蓝桥杯"全国软件和信息技术专业人才大赛软件类校内选拔赛 ...

  7. 蓝桥杯c语言试题及答案 高职,2012.C语言‘蓝桥杯“预赛.真题.高职

    2011年选拔赛c 高职 考生须知: 考试时间为4小时. 本试卷包含两种题型:"代码填空"与"程序设计".总计100分. 其中代码填空:3+3+3+5+7+9+ ...

  8. 2018省赛第九届蓝桥杯真题C语言B组第六题题解 递增三元组

    2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:递增三元组 给定三个整数数组 A = [A1, A2, ... AN],  B = [B1, B2, ... BN],  C = [C1, C ...

  9. 2011国信蓝点(桥)杯C语言试题

    填空题: 第一题: 小李将本金1000元,存入银行,存期5年 ,年利率3%. 小王每年拿出100元资助贫困儿童 double money=1000; int n=5; int i; for(i=0;i ...

最新文章

  1. 牛顿求平方根法(输入是double,输出也是double)
  2. iPhone开发中的一些小技巧
  3. LightGBM参数的贝叶斯搜索(有boost_from_average参数设置)
  4. java dom4j 读取 xml_java使用dom4j读取xml示例
  5. 自学python编程免费教程-python编程入门 零基础学习Python基础(附带最新免费教程)...
  6. oracle 混合分区表,Oracle 19C Hybrid partitioned tables混合分区表
  7. 未能加载虚拟光盘VBoxGuestAdditions.iso
  8. PLC编程之ST语言
  9. C++学习笔记 —— 回合制小游戏案例
  10. 微信“看一看”,“搜一搜”算法大揭秘
  11. 京东返利PHP采集关键字,php 抓取京东产品数据-标题,价格,首图片
  12. 记录mysql中如何统计日周月季度年
  13. 充分利用微博加快社区发展
  14. 战列舰机械计算机,Goliath
  15. 支付 | Java个人接入支付宝当面付(免签约,超详细步骤)
  16. 中国56个民族脚本数据
  17. 部门新来的00后测试员已把我卷崩溃,老油条表示真干不过,但是...
  18. 3DMAX一键屋顶建模插件MW RoofGen使用教程
  19. 购物车详情 图片切换
  20. 制作Hi3519v101根文件系统

热门文章

  1. GIS基础(1)空间参考
  2. 二进制流转PDF,未能加载的pdf文档
  3. 东芝21vf6c_东芝开发21寸高清裸眼3D立体液晶屏
  4. WebRTC实现多人视频聊天之客户端设计
  5. GNSS产品下载链接
  6. 订单30分钟未支付自动取消怎么实现?
  7. BT种子制作教程 轻松培育网络种子
  8. 宝付公益—书香传递温度,爱心点亮希望
  9. 计算机等级良好什么意思,计算机二级多少分算过?
  10. 天黑以后 博客_学习编码:天黑了