Safecracker
问题陈述:
杭州电子科技大学HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1015
问题解析:
深度优先搜索(Depth_First Search)
代码详解:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring> using namespace std; int flag, visited[]; int cmp(const void *a, const void *b){
return *(char *)b - *(char *)a;
} int calculate(char *ans) {
int res = , x = , sign = ;
for(int i=; i<; i++) {
for(int j=; j<=i; j++) {
x *= (ans[i] - 'A' + );
}
res += x * sign;
x = ;
sign *= (-);
}
return res;
} void dfs(char *str, int target, char *ans, int depth, int len) {
if(depth == ) {
if(calculate(ans) == target)
flag = ;
return;
}
for(int i=; i<len; i++) {
if(!visited[i]) {
ans[depth] = str[i];
visited[i] = ;
dfs(str, target, ans, depth+, len);
if(flag)
return;
visited[i] = ;
}
}
} int main()
{
int target;
char ans[], str[];
while(scanf("%d %s", &target, str)!=EOF && !(target== && strcmp(str, "END")==)) {
memset(visited, , sizeof(visited));
qsort(str, strlen(str), sizeof(char), cmp);
flag = ;
dfs(str, target, ans, , strlen(str));
if(flag){
ans[] = '\0';
puts(ans);
} else {
puts("no solution");
}
}
return ;
}
参考博客:CSDN Kizuki
转载请注明出处:http://www.cnblogs.com/michaelwong/p/4315092.html
Safecracker的更多相关文章
- Safecracker 分类: HDU 搜索 2015-06-25 21:12 12人阅读 评论(0) 收藏
Safecracker Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- ZOJ 1403&&HDU 1015 Safecracker【暴力】
Safecracker Time Limit: 2 Seconds Memory Limit: 65536 KB === Op tech briefing, 2002/11/02 06:42 ...
- hdu1015 Safecracker (暴力枚举)
http://acm.hdu.edu.cn/showproblem.php?pid=1015 Safecracker Time Limit: 2000/1000 MS (Java/Others) ...
- HDOJ(HDU).1015 Safecracker (DFS)
HDOJ(HDU).1015 Safecracker [从零开始DFS(2)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HDOJ.1 ...
- HDU 1015 Safecracker【数值型DFS】
Safecracker Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- HDU 1015 Safecracker(第一次用了搜索去遍历超时,第二次用for循环能够了,思路一样的)
Safecracker Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total S ...
- 暴力 ZOJ 1403 Safecracker
题目传送门 /* 暴力:纯暴力,在家水水 */ #include <cstdio> #include <cstring> #include <algorithm> ...
- HDU 1015.Safecracker【暴力枚举】【8月17】
Safecracker Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is lo ...
- hdu - 1010 Tempter of the Bone (dfs+奇偶性剪枝) && hdu-1015 Safecracker(简单搜索)
http://acm.hdu.edu.cn/showproblem.php?pid=1010 这题就是问能不能在t时刻走到门口,不能用bfs的原因大概是可能不一定是最短路路径吧. 但是这题要过除了细心 ...
- [HDOJ1015]Safecracker(DFS, 组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1015 这都能过…… #include <algorithm> #include <i ...
随机推荐
- label的for属性与inputde的id元素绑定
<form> <label for="male">Male</label> <input type="radio" n ...
- win7 tomcat
前提需要有java环境 cmd 1- 下载tomcat http://tomcat.apache.org/ download Tomcat7.0 2- 配置环境变量 CATALINA_HOME C:\ ...
- TCP连接状态图
- PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\video\\AppData\\Local\\Temp\\tmpfipzk8ma'--问题解决
学习python+selenium总是遇到各种问题 代码如下: from selenium import webdriverbrowser = webdriver.PhantomJS() #浏览器初始 ...
- 继续Python爬虫
先贴上代码 # coding:utf-8 import urllib2 import urllib import re gjc = urllib.quote('你好') url = 'http://s ...
- 类:初识类的事件(有点不明白,怎么普通Precedure可以赋值给TEvent)
先勾画一下思路:1.建立一个类, 里面有年龄字段 FAge;2.通过 Age 属性读写 FAge;3.如果输入的年龄刚好是 100 岁, 将会激发一个事件, 这个事件我们给它命名为: OnHundre ...
- Android之自定义checkbox样式
大部分情况下,我们在UI中并不采用Android自带的checkbox复选框样式,这时候就需要我们自定义自己的checkbox. 首先找两张checkbox背景图片,比如下图样子的: 然后在drawa ...
- 【UVA 11997 K Smallest Sums】优先级队列
来自<训练指南>优先级队列的例题. 题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18702 题意:给定 ...
- pythonBasic
1,judgment in deciding(if...:,if..else:,if else...else:),loop(for...:,while True...:) break,continu ...
- 找不到eth0,但能找到eth1的问题解决办法
故障现象:Linux的网卡由eth0变成了eth1,如何修复?解决方案:在linux中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules ...