[蓝桥杯2017初赛]算式900+dfs,next_permutation
法一:
代码如下:
#include <iostream>
using namespace std;
const int N = 15;
bool st[N];
int a[N];void dfs(int u) {if (u == 11) {if ((((a[1] * 1000 + a[2] * 100 + a[3] * 10 + a[4]) - (a[5] * 1000 + a[6] * 100 + a[7] * 10 + a[8])) * (a[9] *10 + a[10])) == 900) {for (int i = 1; i <= 10; i++) {cout << a[i] << " ";}cout << endl;return ;}}if (u == 1) {//第一个位置不能为0for (int i = 1; i <= 9; i++) {if (!st[i]) {st[i] = true;a[u] = i;dfs(u + 1);a[u] = -1;st[i] = false;}}} else if (u == 9) {//第9个位置不能为0for (int i = 1; i <= 9; i++) {if (!st[i]) {st[i] = true;a[u] = i;dfs(u + 1);a[u] = -1;st[i] = false;}}}elsefor (int i = 0; i <= 9; i++) {if (!st[i]) {st[i] = true;a[u] = i;dfs(u + 1);a[u] = -1;st[i] = false;}}
}int main() {memset(a, -1, sizeof(a));dfs(1);return 0;
}
法二:
#include <iostream>
#include <algorithm>
using namespace std;int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};void check() {if (((a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3]) - (a[4] * 1000 + a[5] * 100 + a[6] * 10 + a[7])) *(a[8] * 10 + a[9]) == 900&& a[0] != 0 && a[4] != 0 && a[8] != 0 ) {cout << a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3] << " " << a[4] * 1000 + a[5] * 100 + a[6] * 10 + a[7] << " " <<a[8] * 10 + a[9] << endl;}
}int main() {do {check();} while (next_permutation(a, a + 10));return 0;
}
[蓝桥杯2017初赛]算式900+dfs,next_permutation相关推荐
- [蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)
题目描述 如下图, 有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连) 比如,下面两张图中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不 ...
- [蓝桥杯2017初赛]九宫幻方-数论+next_permutation枚举
题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分. 三阶幻方指的是将1~9不重复的填入一个33的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...
- [蓝桥杯2017初赛]方格分割-dfs+思维
解题思路: 这是大佬的思路: 这道题可能上来会想到搜格子,但搜格子意味着更高的复杂度以及判连通的需要,本题似乎搜索要切开的边更优.由题意,这一条切割线必定经过图的中心点,那么我们一旦确定了半条到达边界 ...
- 蓝桥杯2017初赛:迷宫 (dfs搜索)
[蓝桥杯2017初赛]迷宫 Description X星球的一处迷宫游乐场建在某个小山坡上.它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母.我们假设玩家是面朝上坡的方向站立, ...
- [蓝桥杯2017初赛]跳蚱蜢-map标记+bfs+环形数组
解题思路: 这题如果我们考虑蚱蜢跳,有很多蚱蜢,有很多情况,所以我们让空盘跳,这样就简化题目了,然后我们化圆为直,将题目的情况看成字符串012345678,最后要变成087654321,这样题目就变得 ...
- [蓝桥杯2016初赛]方格填数-next_permutation
代码如下: #include <iostream> #include <algorithm> using namespace std;int main() {int a[10] ...
- 蓝桥杯2017初赛-9数算式-dfs
题目描述 观察如下的算式:9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你借助计算 ...
- 蓝桥杯2017初赛-迷宫-dfs
题目描述 X星球的一处迷宫游乐场建在某个小山坡上.它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母.我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间,R表示走到右边 ...
- [蓝桥杯2015初赛]手链样式-思维+next_permutation枚举(好题)
题目描述 小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙. 他想用它们串成一圈作为手链,送给女朋友. 现在小明想知道:如果考虑手链可以随意转动或翻转,一共有多少不同的组合样式? 输出 请你输出该整数.不要输 ...
最新文章
- 无限极分类原理与实现
- Nightwish全集+6张EP+3张LV+N多图片[320K/MP3]
- 校招启动 | 2021 神策未来星全面启航,只差 1 个你!
- fiddler 抓取手机app请求包
- Azure认知服务之表单识别器
- LinkedHashMap 根据PUT顺序排序Map
- javascript option 菜单图标_MacBook上神奇的Option键
- 化身阿凡达,国外小哥开源 AI 实时变脸工具 Avatarify
- python编程(关于cocos2d)
- ajax控件扩展,22.6 扩展控件
- [Vue-cli3] is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You may...
- Linux下的LVM
- NZ源码交易平台虚拟交易系统(商家版) 高仿淘码网模板
- 《虚幻4 VR开发指南》视频教程
- matlab交流电路仿真,单相交流调压电路Matlab仿真
- 浮动时间怎么计算_轻松搞定PMP考试的计算题(四)时间参数计算
- 常用的图像处理标准图片汇总
- java resultset 不关闭_关于ResultSet的关闭问题
- Django实现adminx后台识别用户身份的内容编辑与显示
- 秒换算 天 时 分 秒
热门文章
- 你知道出现“乱码”的原因是什么吗?(4)
- 我是永远不可能出轨的,除非......
- 原来医生的处方不是随便乱写的...
- 裸奔、抽烟、凡尔赛,原来数学家玩得这么野……
- 傅立叶变换是如何改变我们生活的? ——四个角度告诉你答案
- 酸了!第一名+第三名的学霸情侣,分别直博清华、人大…
- 我怀疑全国最会吹牛的人,都在这8个公众号上了
- 为什么中国天才都往美国跑,可美国人的数学那么槽糕
- 渤海发现大油田,证券会提示风险,微博回应流量造假,刘国梁制定史上最严奖惩体系,这就是今天的大新闻。...
- 像小猪佩奇那样生活,需要多少钱?