2016蓝桥杯C++A:寒假作业(详细解析)
六、题目:寒假作业:
现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
每个方块代表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
就算两种解法。(加法,乘法交换律后算不同的方案)
你一共找到了多少种方案?
请填写表示方案数目的整数。
分析思路
这道题目是从13个数中选12个填到方框里面,是一个全排列问题。最终13个数都会填完代码:
第一段代码,虽然能够运行出结果,但是花费时间需要将近1分钟,做填空题可以用。能运行出答案就行。
#include<iostream>
using namespace std;int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int ans;
bool check(){if(a[0]+a[1]==a[2]&&a[3]-a[4]==a[5]&&a[6]*a[7]==a[8]&&a[9]%a[10]==0&&a[9]/a[10]==a[11])return true;return false;
}
int f(int k){if(k==13){ //当数字为13的时候,可以不同return,因为后面for循环它通不过 if(check())ans++;}for(int i=k;i<13;i++){{int t=a[i];a[i]=a[k];a[k]=t;}continue;
f(k+1);
{int t=a[i]; //回溯,返回原来状态 a[i]=a[k];a[k]=t;
}
}
int main(){f(0);cout<<ans<<endl; return 0;
}
改进方法:提前检知
{int t=a[i];a[i]=a[k];a[k]=t;};
这一行确定了k的位置
- 代码:
#include<iostream>
using namespace std;int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int ans;
bool check(){if(a[0]+a[1]==a[2]&&a[3]-a[4]==a[5]&&a[6]*a[7]==a[8]&&a[9]%a[10]==0&&a[9]/a[10]==a[11])return true;return false;
}
int f(int k){if(k==13){ //当数字为13的时候,可以不同return,因为后面for循环它通不过 if(check())ans++;}for(int i=k;i<13;i++){{int t=a[i];a[i]=a[k];a[k]=t;}//提前检知,节省运行时间 if((k==2&&a[0]+a[1]!=a[2])||k==5&&a[3]-a[4]!=a[5]){ //判断符合条件,再进行递归,不符合直接退出 {int t=a[i];a[i]=a[k];a[k]=t;}continue;
}
f(k+1);
{int t=a[i];a[i]=a[k];a[k]=t;}//回溯,返回原来状态
}
}
int main(){f(0);cout<<ans<<endl; return 0;
}
如果觉得答案可能有问题,可以把所有的符合条件的列举出来
- 代码:
#include<iostream>
using namespace std;int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int ans;
bool check(){if(a[0]+a[1]==a[2]&&a[3]-a[4]==a[5]&&a[6]*a[7]==a[8]&&a[9]%a[10]==0&&a[9]/a[10]==a[11])return true;return false;
}
int f(int k){if(k==13){ //当数字为13的时候,可以不同return,因为后面for循环它通不过 if(check()){printf("%d+%d=%d %d-%d=%d %d*%d=%d %d/%d=%d\n"); ans++;}
}for(int i=k;i<13;i++){{int t=a[i];a[i]=a[k];a[k]=t;}//提前检知,节省运行时间 if((k==2&&a[0]+a[1]!=a[2])||k==5&&a[3]-a[4]!=a[5]){ //判断符合条件,再进行递归,不符合直接退出 {int t=a[i];a[i]=a[k];a[k]=t;}continue;
}
f(k+1);
{int t=a[i];a[i]=a[k];a[k]=t;}//回溯,返回原来状态
}
}
int main(){f(0);cout<<ans<<endl; return 0;
}
这是列举的部分结果
2016蓝桥杯C++A:寒假作业(详细解析)相关推荐
- 十二届蓝桥杯省赛B组C++解析(填空题部分)
十二届蓝桥杯省赛B组C++解析(填空题部分) 目录 十二届蓝桥杯省赛B组C++解析(填空题部分) A:空间 B:卡片 C:直线 D:货物摆放 E:路径 A:空间 该题是一道计算机基础原理题,这里需要了 ...
- java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)
第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...
- 2013第四届蓝桥杯Java组省赛题解析
2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 第五题:前缀判断 第六题:三部排序 第七题:错误票据 第八题:翻硬币 ...
- 2016蓝桥杯省赛---java---A---6(寒假作业)
题目描述 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业:□ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □(如果显示不出来,可以参见[图1.jpg])每个方块代表 ...
- 2016蓝桥杯C++A组第六题 寒假作业【暴力搜索】
原题: 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业:□ + □ = □□ - □ = □□ × □ = □□ ÷ □ = □(如果显示不出来,可以参见[图1.jpg])每个方块代表1~13 ...
- 蓝桥杯c语言试题寒假作业,2016蓝桥杯省赛C/C++A组第六题 寒假作业(示例代码)
题意:现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ 每个方块代表1~13中的某一个数字,但不能重复. 比如: ...
- 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...
- 2016蓝桥杯b组java试题及答案_2016年第七届蓝桥杯java B组省赛试题
2016年第七届蓝桥杯java B组省赛试题 1-3.结果填空 4-5.代码填空 6-7.结果填空 8-10.程序设计 1.煤球数目 (结果填空) 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, ...
- 2016蓝桥杯C组C/C++决赛(公费旅游)总结
作为一个普通二本院校的专科生,我已经在学校附近一家手游公司实习半年多了.先说下自己的情况吧,我们学校一直对ACM这一块儿不重视,毕竟愿意学算法的人少之又少,大部分学生更愿意毕业前培训一下到北上广造假工 ...
最新文章
- python 图像处理模块pillow
- 二元查找树变双向链表
- [Week17] 个人阅读作业
- 求解九宫格的Java_使用全排列方法解九宫格问题
- birt 报表设计(2)—介绍
- 计算沙盒下文件夹内容大小 清空沙盒 文件 目录
- 避免游戏中的批量 sql
- JQ实现列表增删以及上下移动
- 【MediaSoup】UDPSOCKET recv数据到rtcp包解析
- 2020年中国人口出生率为8.52‰,首次跌破10‰,创下1978来新低
- JDk1.8(Win 10版 64位)安装、环境变量配置及第一个Java程序
- PHP云尚发卡,搭建个人发卡平台教程:云尚发卡平台搭建
- 计算机网络三种模型(OSI模型、TCP/IP模型、五层通用模型)、各层作用
- Retina屏下的图片优化
- PPOJ1100: 诡异的楼梯
- java递归计算N!
- babylonjs 导入gltf文件后设置x轴坐标不起作用解决方法
- Week 6 Maze
- 泛洪攻击以及防护方法
- JDBC编程——从属性资源文件中读取数据库的信息
热门文章
- python编程入门书籍-零基础学习Python编程,这8本书必看!
- python下载教程-如何下载python包
- python与java前景-数据告诉你,Python、Java、C+哪个更有发展前途?
- python在线编辑器手机-App Store 上的quot;Python AI - 代码编辑器”
- css文字竖直显示_CSS属性设置 -- 盒子模型
- Error in mounted hook: “TypeError: Cannot read property ‘init‘ of undefined“
- 多级三目运算符的判断
- echarts环形图
- php7 错误处理,PHP7升级-异常错误处理
- 用php写圣诞祝福页面,圣诞祝福文案 抖音圣诞节一句话祝福