HDOJ -- 1015
1.DFS
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char str[], ans[];
int vis[], flag;
bool cmp(char a, char b){return a > b;}
void dfs(int dep, int target, int len){
if(dep == ){
int sum = ;
for(int i = ; i <= ; i ++)
sum += (int)pow(ans[i-]-'A'+., i)*(int)pow(-., i+);
if(sum == target){
flag = ;
printf("%s\n", ans);
}
return ;
}
for(int i = ; i < len; i ++){
if(!vis[i]){
vis[i] = ;
ans[dep] = str[i];
dfs(dep+, target, len);
if(flag) return;
vis[i] = ;
}
}
}
int main(){
int target;
freopen("in.c", "r", stdin);
while(~scanf("%d%s", &target, str) && strcmp(str, "END") && target){
flag = ;
memset(vis, , sizeof(vis));
int len = strlen(str);
sort(str, str+len, cmp);
dfs(, target, len);
if(!flag) printf("no solution\n");
memset(str, , sizeof(str));
}
return ;
}
2,二进制枚举
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
int main(){
int n, a[];
string str;
freopen("in.c", "r", stdin);
while(cin >> n >> str && str != "END" && n){
char ans[] = "A";
int flag = ;
for(int i = ;i < ( << str.size()); i ++){
int cnt = , sum = ;
for(int j = ; j < str.size(); j ++){
if(i & ( << j)) a[cnt++] = j;
}
if(cnt == ){
char tmp[];
for(int i = ; i < ; i ++) tmp[i] = str[a[i]];
sort(tmp, tmp+);
do{
int sum = ;
for(int i = ; i <= ; i ++)
sum += (int)pow(-., i+)*(int)pow(tmp[i-]-'A'+., i);
if(sum == n){
flag = ;
if(strcmp(ans, tmp) < ) strcpy(ans, tmp);
}
}while(next_permutation(tmp, tmp+cnt));
}
}
if(flag) printf("%s\n", ans);
else cout << "no solution" << endl;
}
return ;
}
HDOJ -- 1015的更多相关文章
- HDOJ(HDU).1015 Safecracker (DFS)
HDOJ(HDU).1015 Safecracker [从零开始DFS(2)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HDOJ.1 ...
- HDOJ(HDU).1016 Prime Ring Problem (DFS)
HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...
- HDOJ/HDU 1015 Safecracker(深搜)
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...
- HDOJ/HDU 1015 Safecracker(枚举、暴力)
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...
- 杭电hdoj题目分类
HDOJ 题目分类 //分类不是绝对的 //"*" 表示好题,需要多次回味 //"?"表示结论是正确的,但还停留在模块阶 段,需要理解,证明. //简单题看到就 ...
- HDOJ 题目分类
HDOJ 题目分类 /* * 一:简单题 */ 1000: 入门用:1001: 用高斯求和公式要防溢出1004:1012:1013: 对9取余好了1017:1021:1027: ...
- HDOJ(HDU).2266 How Many Equations Can You Find (DFS)
HDOJ(HDU).2266 How Many Equations Can You Find (DFS) [从零开始DFS(9)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零 ...
- HDOJ(HDU).1045 Fire Net (DFS)
HDOJ(HDU).1045 Fire Net [从零开始DFS(7)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HD ...
- HDOJ(HDU).1258 Sum It Up (DFS)
HDOJ(HDU).1258 Sum It Up (DFS) [从零开始DFS(6)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双 ...
随机推荐
- OC与Swift的区别二(常量、变量、运算符)
4.常量与变量声明 oc的变量声明使用 类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符 swift变量声明使用 var 变量名 = ...
- javascript document对象 第21节
<html> <head> <title>DOM对象</title> <style type="text/css"> t ...
- IOS 学习笔记 2015-03-24 OC-API-常用结构体
一 标题 常用结构体 二 API 1 NSRange 表示一个范围 A 实例化 NSRange rg={3,5};//第一参数是起始位置第二个参数是长度 B 实例化 NSRange rg2=NSMak ...
- Winform动态加载TabControl用法
private void BindTabData() { dtIPD = new DataTable(); //drItem = new DataTable(); //获取[项目大类]列表显示于 Ta ...
- php精粹-编写高效的php代码 --- php设计模式
1.选择一个最合适的设计模式 没有任何事物是完美的,也没有人说过设计模式一个严格的放之四海而皆准的解决方法.因此你可以改变这些模式,使它们更适合手头的工作.对于某些设计模式而言,他们就是所属程序固有的 ...
- leetcode第八题 String to Integer (atoi) (java)
String to Integer (atoi) time=272ms accepted 需考虑各种可能出现的情况 public class Solution { public int atoi( ...
- 个人笔记--Servlet之过滤器实现权限拦截
一.编写一个Java类实现javax.servlet.Filter接口 package cn.edu.sxu.filter; import java.io.IOException; import ja ...
- python面向对象编程实例解析
1. 类和函数 面向对象编程的例子: #!/usr/bin/env python # -*- coding: utf-8 -*- class Person(object): #在属性和变量的前面增加“ ...
- PHP 判断从表单提交的值是否为空
@$time = $_GET['time'];if(empty($time)) { echo "empty";} else { echo "not empty" ...
- Mozilla研究—深入理解mozilla所需的背景知识
mozilla是一个以浏览器为中心的软件平台,它在我们平台中占有重要地位.我们用它来实现WEB浏览器.WAP浏览器.邮件系统.电子书和帮助阅读器等应用程序.为此,我最近花了不少时间去阅读mozilla ...