hdu 1427 速算24点
来源:互联网 发布:下载八爪鱼大数据 编辑:程序博客网 时间:2024/05/16 19:31
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1427
参照<<编程之美>>上的写法,时间卡的挺紧的,用cin tle scanf过了/(ㄒoㄒ)/~~
#include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>#include<cstdio>#include<vector>#include<string>#include<map>using std::map;using std::fabs;using std::pair;using std::swap;using std::string;using std::next_permutation;#define pb(e) push_back(e)#define sz(c) (int)(c).size()#define mp(a, b) make_pair(a, b)#define all(c) (c).begin(), (c).end()#define iter(c) decltype((c).begin())#define cls(arr, val) memset(arr, val, sizeof(arr))#define cpresent(c, e) (find(all(c), (e)) != (c).end())#define rep(i, n) for(int i = 0; i < (int)n; i++)#define tr(c, i) for(iter(c) i = (c).begin(); i != (c).end(); ++i)const int N = 20;const double eps = 1E-7;const int INF = 0x3f3f3f3f;typedef unsigned long long ull;int arr[4];char ret[4][10];map<string, int> A;bool dfs(int n) { if (1 == n) { return arr[0] == 24; } for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { int a = arr[i], b = arr[j]; arr[j] = arr[n - 1]; arr[i] = a + b; if (dfs(n - 1)) return true; arr[i] = a - b; if (dfs(n - 1)) return true; arr[i] = b - a; if (dfs(n - 1)) return true; arr[i] = a * b; if (dfs(n - 1)) return true; if (b != 0 && 0 == a % b) { arr[i] = a / b; if (dfs(n - 1)) return true; } if (a != 0 && 0 == b % a) { arr[i] = b / a; if (dfs(n - 1)) return true; } arr[i] = a; arr[j] = b; } } return false;}void init() { A["A"] = 1; A["2"] = 2; A["3"] = 3; A["4"] = 4; A["5"] = 5; A["6"] = 6; A["7"] = 7; A["8"] = 8; A["9"] = 9; A["10"] = 10; A["J"] = 11; A["Q"] = 12; A["K"] = 13;}bool solve() { for (int i = 0; i < 4; i++) { arr[i] = A[ret[i]]; } do { if (dfs(4)) return true; } while (next_permutation(arr, arr + 4)); return false;}int main() {#ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w+", stdout);#endif init(); while (~scanf("%s %s %s %s", ret[0], ret[1], ret[2], ret[3])) { puts(solve() ? "Yes" : "No"); } return 0;}
0 0
- HDU-1427-速算24点
- HDU 1427 速算24点
- HDU:1427 速算24点
- HDU-1427 速算24点
- hdu 1427 速算24点
- hdu 1427 速算24点
- HDU 1427 速算24点
- hdu 1427 速算24点
- HDU 1427 速算24点
- HDU 1427 - 速算24点
- hdu 1427 速算24点
- HDU 1427 速算24点 枚举+dfs
- [HDU 1427]速算24点(DFS暴搜)
- HDU ACM 1427 速算24点 [DFS]
- day3 HDU 1427 速算24点
- HDU 1427 速算24点(DFS) *
- HDU 1427 速算24点(dfs)
- hdu 1427速算24点(枚举全排列)
- sql语法练习(三)
- 电商搜索之动态属性值(特征值)聚合
- 漫谈 HMM之二:Forward-Backward Algorithm
- VC使用WMI获取活动的网卡列表
- CSS 框模型Margin ,Border ,Padding ,Content
- hdu 1427 速算24点
- easyui combobox 下拉列表添加选择项
- 在 Unix 系统上查找数据的最佳工具和技巧
- Android 解析XML数据
- Android RecyclerView的使用过程遇到的问题
- 年入百万的表弟给我上一课:互联网思维该怎么接地气
- jQuery小例子
- 第8周 项目1 - 建立顺序串的算法库
- 黑马程序员——基础知识-成员方法和成员变量