2016年第七届蓝桥杯C/C++A组第六题---寒假作业
来源:互联网 发布:p2p网络管理器 编辑:程序博客网 时间:2024/04/30 14:28
寒假作业
看看这个寒假作业:
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
每个方块代表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
就算两种解法。(加法,乘法交换律后算不同的方案)
你一共找到了多少种方案?
请填写表示方案数目的整数。
问题描述:
现在小学的数学题目也不是那么好玩的。看看这个寒假作业:
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
每个方块代表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
就算两种解法。(加法,乘法交换律后算不同的方案)
你一共找到了多少种方案?
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
依旧是dfs,其中有且坑的地方就是,当在做除法的时候,精度会丢失,例如3/2 等于1会被算作一种解法,这是不正确的,把商和除数乘起来等于被除数就好了
#include <iostream>#include <math.h>using namespace std;int a[13] ;int counter = 0;int visited[14] = {0};bool flag = true;void judge(int n){if (n>=13){counter++;return;}for (int i=1;i<=13;i++){flag = true;if (visited[i]==0){a[n] = i;visited[i] = 1;}elsecontinue;if (n==3&& a[1] + a[2] != a[3])flag = false;if (n==6&& a[4] - a[5] != a[6])flag = false;if (n==9&& a[7] * a[8] != a[9])flag = false;if (n==12&& a[12] * a[11] != a[10])flag = false;if (flag==false){visited[i] = 0;continue;}else{judge(n + 1);visited[i] = 0;}}}int main() {for(int i=0;i<13;i++)a[i] = -100;judge(1);cout << counter;cin >> counter;}
阅读全文
0 0
- 2016年第七届蓝桥杯C/C++A组第六题---寒假作业
- 2016蓝桥杯C++A组第六题 寒假作业
- 2016年蓝桥杯A组 第六题 寒假作业
- 第七届蓝桥杯软件类省赛真题-C-C-3_寒假作业
- 第六届蓝桥杯A组C/C++ 第七题 手链样式
- 第七届蓝桥杯-寒假作业
- 【第七届蓝桥杯】寒假作业
- 2016年蓝桥杯C语言大学A组题目6--寒假作业
- 第七届蓝桥杯—寒假作业
- 2016年第七届蓝桥杯C/C++A组第三题---方格填数
- 第六届蓝桥杯C/C++A组 第八题 饮料换购
- 第六届蓝桥杯C/C++A组 第九题 垒骰子
- 2016蓝桥杯省赛软件A组-寒假作业
- 第六届蓝桥杯C/C++B组第七题 牌型种数(回溯)
- C++---第七次作业。
- 第七届蓝桥杯C/C++ A组 省赛
- 第七届蓝桥杯C/C++ A组 省赛
- 蓝桥杯-第七届省赛javaA组-寒假作业
- XListView
- SSD及其不同主网络实现的性能差异比较
- angular-js发布新闻
- DP 路径
- Linux操作系统
- 2016年第七届蓝桥杯C/C++A组第六题---寒假作业
- DrawerLayout + PullToRefrsh + 多条目加载
- XListViewFooter
- MYIR-ZYNQ7000系列-zturn教程(7):pl_int
- webupload大文件上传的坑
- Java EE项目中的异常处理总结
- 111
- tablayoutdemo
- 软工视频总结