PAT1-马虎算式(暴力+dfs)
2018-02-18 22:27
288 查看
马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。答案直接通过浏览器提交。注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。能满足形如:
ab * cde = adb * ce这样的算式一共有(5分)种。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。暴力算法package PAT1;
public class Main {
public static void main(String[] args) {
int a, b, c, d, e;
int ans = 0;
for (a = 1; a <= 9; a++) {
for (b = 1; b <= 9; b++) {
if (b != a) {
for (c = 1; c <= 9; c++) {
if (c != a && c != b) {
for (d = 1; d <= 9; d++) {
if (d != a && d != b && d != c) {
for (e = 1; e <= 9; e++) {
if (e != a && e != b && e != c && e != d && ((a * 10 + b) * (c * 100 + d * 10 + e) == (a* 100 + d * 10 + b)* (c * 10 + e))) {
ans++;
}
}
}
}
}
}
}
}
}
System.out.println(ans);
}
}
F2:
private static void dfs(int step) { if (step == 5) { if ((arr[0] * 10 + arr[1]) * (arr[2] * 100 + arr[3] * 10 + arr[4]) == (arr[0] * 100 + arr[3] * 10 + arr[1]) * (arr[2] * 10 + arr[4])) { ans++; } return; } for (int i = 1; i <= 9; i++) { if (visited[i] == 0) { visited[i] = 1; arr[step] = i; dfs(step + 1); visited[i] = 0; } } return; }
相关文章推荐
- PAT 5 凑算式(dfs)
- PAT 1104 Sum of Number Segments (暴力DFS)
- 2013蓝桥杯 马虎的算式 dfs回溯
- 蓝桥杯--2013--马虎的算式(暴力)
- 蓝桥杯--2013--马虎的算式(暴力)
- hdu 5024 Wang Xifeng's Little Plot (dfs+暴力)
- bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)
- PAT:图的独立子图个数:DFS
- NOJ——1559Jump to the Top of Mountain(简单暴力DFS+渣渣代码)
- hdu 1427 速算24点 dfs暴力搜索
- [ACM] ZOJ 3816 Generalized Palindromic Number (DFS,暴力枚举)
- PAT-A 1034. Head of a Gang (dfs)
- 2016蓝桥杯C/C++省赛 凑算式+搭积木(暴力,水题)
- HDU 2212 - DFS (暴力打表)
- 2017蓝桥杯模拟题 猜算式(暴力枚举)
- 2017蓝桥杯模拟题 滑动解锁(暴力DFS)
- 【Codeforces Round 272 (Div 2)B】【暴力dfs or 组合数】Dreamoon and WiFi 问号填加减方案数使得最后恰好增量为aim
- 马虎的算式
- 蓝桥杯之马虎的算式
- Strange Country II(暴力DFS判有向图的哈密顿通路)