hdu1015:给定一串可用序列值,每个字符映射到一个1-26之间的整数,选择五个有序数使得满足 a-b2+c3-d4+e5=target.

 #include<iostream>
#include<cstdio>
#include<string.h>
#include<algorithm>
#include<map>
using namespace std;
int target;
char s[];
int vis[];
map<char,int>mp;
char ans[],ch[];
int num[];
int len;
bool fin(int *a)
{
return a[]-a[]*a[]+a[]*a[]*a[]-a[]*a[]*a[]*a[]+a[]*a[]*a[]*a[]*a[]==target;
}
void init()
{
memset(vis,,sizeof(vis));
memset(ans,'\0',sizeof(ans));//空串字典序最小
memset(ch,'\0',sizeof(ch));
memset(num,,sizeof(num));
char c='A';
for(int i=;i<=;i++)
mp[c++]=i; //构建映射关系
} void dfs(int cur)//当前处理的位数
{
if(cur==)
{
if(fin(num)&&strcmp(ch,ans)>)
strcpy(ans,ch);
return;
}
for(int i=;i<len;i++)
{
if(!vis[mp[s[i]]])
{
vis[mp[s[i]]]=;
ch[cur]=s[i];//存储字符s[i]以便与ans比较
num[cur]=mp[s[i]]; //转化为数字,以便判断是否结束
dfs(cur+);
vis[mp[s[i]]]=;
}
}
return;
}
int main()
{ while(scanf("%d %s",&target,&s)==&&!(target==&&strcmp(s,"END")==))
{
init();
// cout<<"target:"<<target<<" "<<s<<endl;
len=strlen(s);
sort(s,s+len);
dfs();
if(!strcmp(ans,""))cout<<"no solution"<<endl;
else cout<<ans<<endl;
}
}

hdu1016 n个数的全排列构成圈使得相邻两数和为质数且第一个数是1。先预处理出40以内的质数,然后深搜。

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n;
int a[];
int isp[];
int vis[];
bool isprime(int x)
{
if(x<)return false;
for(int i=;i*i<=x;i++)
{
if(x%i==)
return false;
}
return true;
} void dfs(int cur)//搜索深度
{
int i;
if(cur==n&&isp[(a[cur-]+a[])])//递归结束条件
{
for( i=;i<n-;i++)
printf("%d ",a[i]);
printf("%d\n",a[n-]);
}
else for( i=;i<=n;i++)
{
if(!vis[i]&&isp[i+a[cur-]])
{
a[cur]=i;
vis[i]=;
dfs(cur+);
vis[i]=; //状态回复
}
}
} int main()
{
for(int i=;i<=;i++)isp[i]=isprime(i);
int t=;
while(scanf("%d",&n)!=EOF)
{
memset(vis,,sizeof(vis));
printf("Case %d:\n",t);
a[]=;
dfs();
printf("\n");
t++;
}
}

hdu1015+hdu1016 都是十分钟以内的深搜题的更多相关文章

  1. PAT L2-016 愿天下有情人都是失散多年的兄妹(深搜)

    呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入 ...

  2. iOS二进制方案真实落地经验(30分钟降低到10分钟以内)

    iOS二进制方案真实落地经验(30分钟降低到10分钟以内) 我们做iOS二进制化断断续续尝试了一年多了,来来回回换了三个架构师去尝试落地,今日完全落地,在此做个总结 背景 工程基于cocoapod的组 ...

  3. 【NLP】十分钟快览自然语言处理学习总结

    十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...

  4. 十分钟了解分布式计算:GraphX

    GraphX原型论文 GraphX是Spark中用于图(e.g., Web-Graphs and Social Networks)和图并行计算(e.g., PageRank and Collabora ...

  5. 快速入门:十分钟学会Python

    初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...

  6. 十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))

    十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的 ...

  7. 如何在十分钟内插入1亿条记录到Oracle数据库?

    这里提供一种方法,使用 APPEND 提示,使得十分钟内插入上亿数据成为可能. -- Create table create table TMP_TEST_CHAS_LEE ( f01 VARCHAR ...

  8. 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)

    [项目管理和构建]十分钟教程,eclipse配置maven + 创建maven项目(三) 上篇博文中我们介绍了maven下载.安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合 ...

  9. Python十分钟学会

    初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...

随机推荐

  1. 一致性哈希算法(consistent hashing)PHP实现

    一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简单哈希 ...

  2. memcached单点登录配置

    域名 www.lxy.comblog.lxy.comnews.lxy.comshop.lxy.com php配置 session.save_handler = memcache session写mem ...

  3. C++中cin的输入分隔符问题及相关

    1.C/C++中的类型转换函数(区分类中的类型转换构造函数): 头文件:C中stdlib.h C++中cstdlib atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将 ...

  4. Vue-API之全局配置

    API 全局配置 Vue.config 是一个对象,包含 Vue 的全局配置. 源码位置:util/config.js 搜索config 可以找到其源码地址,其中声明了config的类型和默认参数 下 ...

  5. 吐槽苹果开放接口のappleid登陆

    这里吐槽一下苹果的开发文档,一切源于前段时间,公司的产品app(某知名资讯app)要接入苹果登陆(ios13发布以来,apple就流氓要求新上线的app,如果有第三方登陆的话,必须要接入appleid ...

  6. 曹工说Spring Boot源码(22)-- 你说我Spring Aop依赖AspectJ,我依赖它什么了

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  7. text-decoration与color属性

    text-decoration属性值 如果指定某个标签的text-decoration属性时,希望为其添加多个样式(比如:上划线.下划线.删除线),那么需要把所有的值合并到一个规则中才会生效 p{ t ...

  8. EventEmitter:从命令式 JavaScript class 到声明函数式的华丽转身

    新书终于截稿,今天稍有空闲,为大家奉献一篇关于 JavaScript 语言风格的文章,主角是函数声明式. 灵活的 JavaScript 及其 multiparadigm 相信"函数式&quo ...

  9. 报错: raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

    Django2.0同步Mysql数据库时出现的问题 执行 python manage.py makemigrations 报错 # 报错位置 File "G:\python\lib\site ...

  10. JavaScript实现集合与字典

    JavaScript实现集合与字典 一.集合结构 1.1.简介 集合比较常见的实现方式是哈希表,这里使用JavaScript的Object类进行封装. 集合通常是由一组无序的.不能重复的元素构成. 数 ...