寒假作业-----蓝桥杯
现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
(如果显示不出来,可以参见【图1.jpg】)
每个方块代表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)
#include
#include"cstdlib"
using namespace std;
int num[13]= {0},count=0,visited[13]= {0};
int test(int n) {
if(n==2) {
if(num[0]+num[1]==num[2])
return 1;
} else if(n==5) {
if(num[3]-num[4]==num[5])
return 1;
} else if(n==8) {
if(num[6]*num[7]==num[8]) {
return 1;
}
} else if(n==11) {
if(num[9]==num[11]*num[10]) {//这里很重要,如果是两者相除会有很多答案
count++;
return 1;
}
} else {
return 1;
}
return 0;
}
void DFS(int n) {
int i=0;
if(n>=13) {
return ;
}
for(;
i<13;
i++) {
if(!visited[i]) {
visited[i]=1;
num[n]=i+1;
if(!test(n)) {//如果不符合要求即剪枝
visited[i]=0;
continue;
}
DFS(n+1);
visited[i]=0;
}
}
return ;
}
int main() {
DFS(0);
cout<
【寒假作业-----蓝桥杯】
推荐阅读
- 17|17 关山松 第二课作业#公众号项目# D20
- 【同心同舵】郑友贤第八季思维导图武林计划No.15《点评作业5》
- 特殊的家庭作业。
- 作业没有完成仍坚持要开家庭会议|作业没有完成仍坚持要开家庭会议 44
- 互联网加教育,成就孙慧敏美术梦想
- 如果我们的国宝不是熊猫
- 2019年《家庭中的正面管教》作业七
- --木木--|--木木-- 第二课作业#翼丰会(每日一淘6+1实战裂变被动引流# 6+1模式)
- 《将来的你,一定会感谢现在战胜烦恼的自己-------第四章/第十一节/用逆向思维解除烦恼》
- 2018-04-16动画练习作业