题目描述
把 1~9 这9个数字分成两组,中间插入乘号,
有的时候,它们的乘积也只包含1~9这9个数字,而且每个数字只出现1次。
比如:
984672 * 351 = 345619872
98751 * 3462 = 341875962
9 * 87146325 = 784316925

符合这种规律的算式还有很多,请你计算在所有这些算式中,乘积最大是多少?
输出
输出一个整数表示答案

代码如下:

#include <iostream>
#include <cstring>
using namespace std;
typedef long long LL;
LL maxv = -1;
const int N = 12;
bool vis[N];
bool st[N];bool check(int suma, int sumc) {LL b = (LL)suma * sumc;memset(vis, 0, sizeof(vis));//标记数组记得重置if (!b) {return false;}while (b) {if (vis[b % 10] || b % 10 == 0)return false;vis[b % 10] = true;b = b / 10;}for (int i = 1; i <= 9; i++) {if (!vis[i])return false;}return true;
}void dfs_c(int u, int suma, int sumc) {//if (u > 9) {if (u >= 9) { //边界不要弄错if (check(suma, sumc)) {maxv = max((LL)suma * sumc, maxv);return ;}return ;}for (int i = 1; i <= 9; i++) {if (!st[i]) {st[i] = true;dfs_c(u + 1, suma, sumc * 10 + i);st[i] = false;}}
}void dfs_a(int u, int suma) {if (u) {dfs_c(u, suma, 0);}for (int i = 1; i <= 9; i++) {if (!st[i]) {st[i] = true;dfs_a(u + 1, suma * 10 + i);st[i] = false;}}
}int main() {dfs_a(0, 0);cout << maxv << endl;return 0;
}
#include <iostream>
using namespace std;
typedef long long LL;
const int N = 12;
bool vis[N];
LL maxv = -1;bool check_1(int suma,int sumc)
{int  st[N];memset(st,0,sizeof(st));//必不可少
//  for (int i = 1;i<=9;i++)或者写成这样,反正无论怎么写,都要初始化为0
//  {//      st[i] = 0
//  }LL sumb = suma*(LL)sumc;while(sumb){st[sumb%10]++;sumb = sumb/10;}for (int i = 1;i<=9;i++){if (st[i]!=1)return false;}return true;
}void dfs_c(int u,int suma,int sumc)
{if (u > 9) return ;if (u==9){if (check_1(suma,sumc) && sumc!=0){LL sumb = (LL)suma*sumc;maxv = max(maxv,sumb);return ;}}for (int i = 1;i<=9;i++){if (!vis[i]){vis[i] = true;dfs_c(u+1,suma,sumc*10+i);vis[i] = false;}}
}void dfs_a(int u,int suma)
{dfs_c(u,suma,0);for (int i = 1;i<=9;i++){if (!vis[i]){vis[i] = true;dfs_a(u+1,suma*10+i);vis[i] = false;}}
}int main()
{dfs_a(0,0);cout<<maxv<<endl;return 0;
}

[蓝桥杯2018决赛]最大乘积-dfs相关推荐

  1. [蓝桥杯2018决赛]换零钞-枚举

    题目描述 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换出的 ...

  2. [蓝桥杯2018决赛]阅兵方阵-模拟,枚举

    题目描述 x国要参加同盟阅兵活动. 主办方要求每个加盟国派出的士兵恰好能组成 2 个方阵. x国发现弱小的 y国派出了130人的队伍,他们的士兵在行进中可以变换2种队形: 130 = 81 + 49 ...

  3. [蓝桥杯2018决赛]迷宫与陷阱

    题目描述 小明在玩一款迷宫游戏,在游戏中他要控制自己的角色离开一间由NxN个格子组成的2D迷宫. 小明的起始位置在左上角,他需要到达右下角的格子才能离开迷宫. 每一步,他可以移动到上下左右相邻的格子中 ...

  4. [蓝桥杯2018决赛]三角形面积-数论

    海伦公式:三条边的边长为a.b.c,p=(a+b+c)/2,area=sqrt(p∗(p−a)∗(p−b)∗(p−c))三条边的边长为a.b.c,p=(a+b+c)/2,area=sqrt(p*(p- ...

  5. 蓝桥杯2018决赛 调手表

    调手表 题目描述 小明买了块高端大气上档次的电子手表,他正准备调时间呢. 在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟. 大家都知道,手表只有一个按钮可以把当前的数 ...

  6. 蓝桥杯2018决赛调手表

    **小明买了块高端大气上档次的电子手表,他正准备调时间呢. 在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟. 大家都知道,手表只有一个按钮可以把当前的数加一.在调分钟 ...

  7. 蓝桥杯javaB决赛历届真题6-10届

    蓝桥杯javaB决赛历届真题 第六届 T1 分机号 T2 五星填数 T3 显示二叉树 T4 穿越雷区 T5 表格计算 T6 铺瓷砖 第七届 T1 愤怒小鸟 T2 反幻方 T3 打靶 T4 路径之谜 T ...

  8. 蓝桥杯大赛决赛整理合集(B组C/C++)

    蓝桥杯大赛决赛整理合集(B组C/C++) 根据大纲梳理一遍,也在全文最后补充了最几年的决赛真题,全文基于C++编写,希望对你有所帮助 关于省赛的反思: 1.我的Code::Block 20.03在机房 ...

  9. 蓝桥杯 2018年省赛真题 (Java 大学C组)

    蓝桥杯 2018 年省赛真题(Java 大学 C 组 ) #1 哪天返回 #2 猴子分香蕉 #3 字母阵列 #4 第几个幸运数 #5 书号验证 #6 打印大X #7 缩位求和 #8 等腰三角形 #9 ...

最新文章

  1. 中国软件开发工程师之痛
  2. Random随机数相关工具类
  3. xml文件导入mysql_如何使用XML_LOAD()将XML文件导入MySQL数据库表;功能?mysql-问答-阿里云开发者社区-阿里云...
  4. 加密文件忘记密码怎么解密_MyBatis 配置文件 用户密码加密存储
  5. 事务的四大特性和隔离级别
  6. ​做安全操作系统,这位技术老兵是认真的!
  7. 遥感原理与应用孙家炳_2.2遥感应用模型
  8. 用计算机计算麦克斯韦方程,数学之美~(01)最伟大的数学公式!
  9. mysql分组统计以及全部统计union all使用
  10. win10隐藏任务栏_让你的 Windows 任务栏智能化起来
  11. kero control 防火墙
  12. educoder Git入门之分支管理
  13. 简单的通过DockerFile 构建自己的nacos镜像 并持久化到 MySQL8.0
  14. 计算机网络(三)—— 数据链路层(1):数据链路层概述
  15. System Silencer – 离开时 让电脑自动开始任务
  16. 湖北武汉电信机房详细介绍
  17. 西北农林科技大学计算机系运动会,西北农林科技大学召开2018年学院春季运动会...
  18. HTTP/2.0 中英文对照
  19. php将excel数据导入mysql表中_利用php将xls表格数据以原生方式快速导入mysql
  20. 数模美赛论文模板(笔记)

热门文章

  1. 如果编程语言是女孩子
  2. C语言试题三十四之求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
  3. C和指针之动态内存分配堆、栈、全局区(静态区)、常量区对比总结学习笔记
  4. C语言之常见错误解决办法
  5. Andriod之import android.support.v4或者import android.support.v7提示导入错误解决办法
  6. linux脚本漏洞,Silver Peak VX跨站脚本漏洞(CVE-2014-2975)
  7. #时间预测算法_【时间序列】时序预测竞赛之异常检测算法综述
  8. 今年大学毕业照画风太清奇.....我忍不住笑出了声!
  9. 女神一秒变路人!腾讯研究AI卸妆效果算法出品“一键卸妆”功能
  10. 基于应用日志的扫描器检测实践