hdu-1015-深度搜索-Safecracker
来源:互联网 发布:windows tar 打包工具 编辑:程序博客网 时间:2024/06/16 17:33
这道搜索题做了好久QAQ,写出来发现还是不算太难。题目大意就是给你一个target和一个字符串,看看字符串中有没有一个由五个字符组成的字符串使得这五个字符对应的数字(A对应1,B对应2以此类推Z对应26)vwxyz满足v - w^2 + x^3 - y^4 + z^5 = target,如果有多个满足的话输出字典序最大的那个。
说白了就是一个深度搜索为了避免递归深度过大,我先将字符串排好序再从大到小遍历,中间记录一下元素的值,别忘了某些全局变量的值的更新,再弄清搜索的逻辑即可。
#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;ll target;int len,ans;int element[6];char s[15];bool used[15];int pow(int x,int y){ int res = 1; for(int i = 1; i <= y; i++) res *= x; return res;}int dfs(int x){ element[ans++] = s[x] -'A' + 1; if(ans == 5) { ll sum = 0; for(int i = 0; i < 5; i++) { if(i%2) sum -= (long long )pow(element[i], i + 1); else sum += (long long)pow(element[i], i + 1); } return sum == target; } for(int i = len - 1; i >= 0 ; i--) { if( !used[i]) { used[i] = 1; if(dfs(i)) { return 1; } else { used[i] = 0; ans--; } } } return 0;}int main(){ int mark; while(scanf("%I64d",&target) && target ) { mark = 0; ans = 0; memset(used, 0,sizeof(used)); getchar(); scanf("%s",s); len = strlen(s); sort(s,s + len); for(int i = len - 1; i >= 0; i--) { used[i] = 1; if(dfs(i)) { mark = 1; break; } ans = 0;//别忘了更新 used[i] = 0; } if(mark) { for(int i = 0; i < 5; i++) printf("%c",element[i] + 'A' - 1); printf("\n"); } else printf("no solution\n"); } return 0;}
阅读全文
0 0
- hdu-1015-深度搜索-Safecracker
- hdu 1015 Safecracker 搜索
- HDU 1015 Safecracker DFS搜索
- HDU 1015 Safecracker(DFS搜索)
- HDU 1015 Safecracker (简单搜索题)
- HDU - 1015 Safecracker
- HDU 1015 Safecracker
- HDU 1015 Safecracker
- Hdu 1015 Safecracker
- hdu 1015 Safecracker
- hdu 1015 Safecracker(枚举)
- hdu 1015 Safecracker
- hdu 1015 Safecracker
- HDU 1015 Safecracker(深搜)
- hdu 1015 Safecracker
- hdu 1015 Safecracker dfs()
- hdu 1015 Safecracker
- HDU 1015 Safecracker
- 设置自定义按钮的一些属性
- 安卓数据存储方式
- java循环结构
- drawable图片资源处理
- matlab入门教程三 ----- 函数运用&&循环&&判断
- hdu-1015-深度搜索-Safecracker
- 计蒜客复赛——百度地图导航
- 触摸事件
- 我的大数据学习历程(1)
- c++ operator逐级推演
- Spring Cloud学习系列_2配置文件(yml、properties)
- 5-7 英文单词排序 (25分)
- Linux系统第一节课
- 背景音乐