蓝桥杯第七届C/C++B省赛凑算式
第三题:
凑算式
B DEF
A + --- + ------- = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
就一个控制精度问题,其他的没有了。
答案 : 29
第一种:dfs,搜索每一个位置,确定当前的数,最后统一计算(终于自己都看不下去以前写的无穷for了QAQ)
源代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<algorithm>
int flag[11];
int ans[11];
int sum=0;
using namespace std;
void dfs(int pos) {
if(pos==10) {
double t1=(double)ans[1];
double t2=((double)ans[2])/((double)ans[3]);
double t3=((double)(ans[4]*100+ans[5]*10+ans[6]))/((double)(ans[7]*100+ans[8]*10+ans[9]));
double result=t1+t2+t3;
if(fabs(result-10.0)<=1e-8) {
sum++;
}
return;
}
for(int i=1;i<=9;++i) {
if(!flag[i]) {
ans[pos]=i;
flag[i]=1;
dfs(pos+1);
flag[i]=0;
}
}
}
int main() {
memset(flag,0,sizeof(flag));
memset(ans,0,sizeof(ans));
dfs(1);
printf("%d\n",sum);
return 0;
}
第二种:暴力for循环(直接跳过吧)
源代码:
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<string.h>
#include<math.h>
#include<map>
#include<vector>
#include<algorithm>
#include<queue>
using namespace std;
#define MAX 0x3f3f3f3f
#define MIN -0x3f3f3f3f
#define PI 3.14159265358979323
#define N 1005
int main()
{
int a, b, c, d, e, f, g, h, i;
int sum = 0;
for (a = 1; a <= 9; a++)
{
for (b = 1; b <= 9; b++)
{
if (b == a)
continue;
for (c = 1; c <= 9; c++)
{
if (c == b || c == a)
continue;
for (d = 1; d <= 9; d++)
{
if (d == a || d == b || d == c)
continue;
for (e = 1; e <= 9; e++)
{
if (e == a || e == b || e == c || e == d)
continue;
for (f = 1; f <= 9; f++)
{
if (f == a || f == b || f == c || f == d || f == e)
continue;
for (g = 1; g <= 9; g++)
{
if (g == a || g == b || g == c || g == d || g == e || g == f)
continue;
for (h = 1; h <= 9; h++)
{
if (h == a || h == b || h == c || h == d || h == e || h == f || h == g)
continue;
for (i = 1; i <= 9; i++)
{
if (i == a || i == b || i == c || i == d || i == e || i == f || i == g || i == h)
continue;
else
{
if (fabs(a*1.0 + b*1.0 / c + (d * 100 + e * 10 + f)*1.0 / (g * 100 + h * 10 + i) - 10.00) < 0.0000000001)
{
sum++;
printf("%d%d%d%d%d%d%d%d%d\n", a, b, c, d, e, f, g, h, i);
printf("%.6lf\n", a*1.0 + b*1.0 / c + (d * 100 + e * 10 + f)*1.0 / (g * 100 + h * 10 + i));
}
}
}
}
}
}
}
}
}
}
}
printf("%d\n", sum);
return 0;
}
蓝桥杯第七届C/C++B省赛凑算式的更多相关文章
- 算法笔记_122:蓝桥杯第七届省赛(Java语言A组)试题解答
目录 1 煤球数目 2 生日蜡烛 3 搭积木 4 分小组 5 抽签 6 寒假作业 7 剪邮票 8 取球博弈 9 交换瓶子 10 压缩变换 前言:以下试题解答代码部分仅供参考,若有不当之处,还请路 ...
- 算法笔记_123:蓝桥杯第七届省赛(Java语言B组部分习题)试题解答
目录 1 凑算式 2 方格填数 3 四平方和 1 凑算式 凑算式 B DEF A + --- + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中A ...
- 蓝桥杯第七届决赛(国赛)C++B组 第四题 机器人塔
机器人塔 X星球的机器人表演拉拉队有两种服装,A和B.他们这次表演的是搭机器人塔. 类似: A B B A B A A A B B B B B A BA B A B B A 队内的组塔规则 ...
- 2016年第七届蓝桥杯C/C++程序设计本科B组省赛
/* 2016年第七届蓝桥杯C/C++程序设计本科B组省赛 煤球数目(结果填空) 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形) ...
- 2012年第三届蓝桥杯C/C++程序设计本科B组省赛 取球博弈
2012年第三届蓝桥杯C/C++程序设计本科B组省赛 取球博弈 题目描述 **取球博弈 今盒子里有n个小球,A.B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并 ...
- 蓝桥杯第十届真题B组(2019年)
2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组# 试题 A:组队# 本题总分:5分[问题描述]作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员,组成球队的首发阵容.每位球员担 ...
- [算法竞赛][2018][蓝桥杯][LanqiaoCA]第九届蓝桥杯A组
题目1 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + .... 每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来.类似:3/2当然,这只是加了前2项 ...
- Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
有错误的或者有问题的欢迎评论 十六进制数1949对应的十进制数 19000互质的数的个数 70044与113148的最大公约数 第十层的二叉树 洁净数 递增序列 最大的元素距离 元音字母辅音字母的数量 ...
- 15年第六届蓝桥杯第七题_手链样式_(stl_string)
手链样式 小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙.他想用它们串成一圈作为手链,送给女朋友.现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢? 请你提交该整数.不要填写任 ...
随机推荐
- Spark SQL数据源
[TOC] 背景 Spark SQL是Spark的一个模块,用于结构化数据的处理. ++++++++++++++ +++++++++++++++++++++ | SQL | | Dataset API ...
- python内置方法总结
abs() #求绝对值 >>> abs(-19) 19 all() #里面的元素全部为真才是真 >>> all([1,2,3,'',2]) False any #只 ...
- IntentService学习
IntentService是一个Service,主要就是Service和HandlerThread的结合 一.使用 不用多说和使用Service差不多,但是比Service多个一个方法实现: publ ...
- 使用css3实现瀑布流布局效果
使用CSS3可以轻松实现瀑布流布局,但这种方法有个缺点,就是对于商城类型的网站,价格筛选时,并不能达到理想效果. 1.column-count 把div中的文本分为多少列 2.column-width ...
- 走近 Python (类比 JS)
Python 是一门运用很广泛的语言,自动化脚本.爬虫,甚至在深度学习领域也都有 Python 的身影.作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数.解构赋值. ...
- 网络基础一 交换机 路由器 OSI7层模型
第1章 网络基础 1.1 网络的出现 解决计算机通讯的需求 实现计算机信息可以传递 1.2 主机之间实现通讯基本要求(三要素) ①. 需要在两台主机之间建立物理连接,物理连接的方式有网线 光纤线 wi ...
- 使用PostgreSQL进行全文检索
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...
- HDU3045 Picnic Cows (斜率DP优化)(数形结合)
转自PomeCat: "DP的斜率优化--对不必要的状态量进行抛弃,对不优的状态量进行搁置,使得在常数时间内找到最优解成为可能.斜率优化依靠的是数形结合的思想,通过将每个阶段和状态的答案反映 ...
- NoSQL:redis缓存数据库
一 Redis介绍 Redis和Memcached类似,也属于key-value nosql 数据库 Redis官网redis.io, 当前最新稳定版4.0.1 和Memcached类似,它支持存储的 ...
- CentOS卸载原有旧版OPENJDK并安装SUNJDK解决方案
PS:由于图片是安装后进行截图所以出现的是1.8版本,步骤是完全正确的. 一.检测JDK 首先你要打开终端,为避免可能出现的权限问题建议直接su进入root.(PS:密码可以输入但不显示) 然后输入j ...