Safecracker(HDU1015 全排列回溯)
来源:互联网 发布:打开pdg文件的软件 编辑:程序博客网 时间:2024/06/05 02:08
题目链接
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <string>#include <cmath>#include <queue>using namespace std;int num, len;char letter[15];int flag;int vis[15];bool cmp(char a, char b){ return a > b;}int p(int n, int i){ int j, sum = 1; for(j = 0; j < i; j++) sum *= n; return sum;}void dfs(int j, char tmp[]){ if(j == 5) { if((tmp[0]-'A'+1) - p(tmp[1]-'A'+1, 2) + p(tmp[2]-'A'+1, 3) - p(tmp[3]-'A'+1, 4) + p(tmp[4]-'A'+1, 5) == num) { flag = 1; tmp[5] = '\0'; cout << tmp << endl; } } else { if(flag == 1) return; int i; for(i = 0; i < len; i++) { if(!vis[i]) { vis[i] = 1; tmp[j] = letter[i]; dfs(j+1, tmp); vis[i] = 0; } } }}int main(){ while(cin >> num >> letter) { if(num == 0 && strcmp(letter, "END") == 0) break; len = strlen(letter); sort(letter, letter+len, cmp); flag = 0; memset(vis, 0, sizeof(vis)); char tmp[13]; dfs(0, tmp); if(flag == 0) cout << "no solution" << endl; } return 0;}
0 0
- Safecracker(HDU1015 全排列回溯)
- hdu1015 Safecracker —— 回溯
- HDU1015 - Safecracker (深搜)
- hdu1015 Safecracker (DFS)
- HDU1015 Safecracker
- HDU1015 Safecracker
- hdu1015(Safecracker )
- Safecracker HDU1015
- hdu1015 Safecracker
- HDU1015 Safecracker
- HDU1015(dfs回溯)
- hdu Safecracker(回溯)
- hdu1015 Safecracker (暴力枚举)
- HDU1015 Safecracker 【深搜】+【预处理】
- hdu1015——Safecracker
- hdu1015--Safecracker(dfs)
- hdu1015 Safecracker dfs
- 字符串全排列问题(递归回溯)
- JavaScript添加事件
- 9 Palindrome Number
- 吉哥系列故事——完美队形II(hdu4513+Manacher)
- LeetCode 06 ZigZag Conversion
- Terrible Sets(单调栈,一开始还被题目描述吓到了,理解样例后发现就是纸老虎题。。。)
- Safecracker(HDU1015 全排列回溯)
- Android Listview中的simpleadapter类型没有触发item的点击事件的解决办法
- ADOdotNET
- 一道hadoop面试题
- C++中数字与字符串之间的转换
- 相机标定的前世今生
- 设计模式经典书籍
- 读书笔记之linux/unix系统编程手册(20)
- 黑马程序员--Java基础学习(网络编程)第二十三天