hdu 1015 Safecracker dfs()
来源:互联网 发布:远程桌面监控软件 编辑:程序博客网 时间:2024/04/28 21:25
此题恶心啊,20分钟的代码,硬是写了2个半小时,最后终于出来了,
题意:
你要得到一个序列 满足 一个关系式;
思路:
枚举排列,然后保存字典序最大的(就是这个恶心啊,,受不鸟,2,个小时啊,代码啊代码)
#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int vis[1001];char str1[2001];int num[2001],sum[2001],n,m;int flag;int fun(int nm,int p)// 计算次方{ int su = 1; while(p--) { su*=nm; } return su;}int num1[100001];void cmd() // 模拟字典序比较( 就是此处恶心啊){ int flog = 0; for(int i=1;i<=5;i++) { if(sum[i]>num1[i]) { flog = 1; break; } else break; } if(flog) { for(int i=1;i<=5;i++) num1[i] = sum[i]; }}void dfs(int count) // 深搜 枚举数列{ if(count==6) { if(fun(sum[1],1) - fun(sum[2],2) + fun(sum[3],3) - fun(sum[4],4) + fun(sum[5],5)==n) { flag = 1; cmd(); } return ; } else { for(int i=1;i<=m;i++) { if(!vis[i]) { sum[count] = num[i]; //此处勿忘 vis[i] = 1; dfs(count+1); vis[i] = 0; } } }}int main(){ while(cin>>n,n) { cin>>str1; m = strlen(str1); flag = 0; memset(num1,0,sizeof(num1)); memset(vis,0,sizeof(vis)); for(int i=0;str1[i];i++) { num[i+1] = str1[i]-'A'+1; } dfs(1); if(flag==0) puts("no solution") ; else { for(int i=1;i<=5;i++) printf("%c",num1[i]+'A'-1); printf("\n"); } }}
- hdu 1015 Safecracker dfs()
- hdu 1015Safecracker(dfs)
- HDU 1015 Safecracker 【DFS】
- HDU 1015--Safecracker【DFS】
- hdu 1015 Safecracker【DFS】
- HDU 1015 Safecracker DFS
- HDU 1015 Safecracker (dfs)
- hdu 1015 Safecracker (dfs)
- HDU 1015 Safecracker ( DFS )
- HDU 1015 Safecracker (DFS)
- hdu 1015 Safecracker 暴力dfs
- HDU 1015 Safecracker DFS搜索
- HDU 1015 Safecracker(DFS搜索)
- hdu 1015 Safecracker【dfs 排列组合】
- HDU 1015 Safecracker (DFS)
- HDU 1015 Safecracker(DFS)
- HDOJ(HDU).1015 Safecracker (DFS)
- HDU Safecracker 1015(dfs入门)
- Android html5 localStorage
- 关于Android的一些基础注意事项
- OpenTLD 未完成 - 虎头
- linux内核配置与编译
- 为SpringMVC工程添加Spring Security
- hdu 1015 Safecracker dfs()
- selenium使用中遇到的问题,转自:http://blog.csdn.net/funi16/article/details/9036753
- explicit 构造函数
- poj1703(并查集)
- Oracle Virtual_Box 安装Mac
- C++友元friend --c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作
- hdu4332 状态压缩+矩阵快速幂
- 递归调用
- JS遍历打印、遍历数组