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. 当async: true 时,ajax请求是异步的

    方法beforeSend,用于在向服务器发送请求前添加一些处理函数.   type:"GET",//通常会用到两种:GET,POST.默认是:GET      url:" ...

  2. 软件测试人必备的 Python 知识图

    之前发过蛮多不少关于 Python 学习的文章,收到大家不少的好评,不过大家也有许多困惑: 现在测试不好做,是不是真的该重新去学一门热门的语言? 入门 Python 该学哪些知识点?该看哪些书? 可以 ...

  3. 京东Y事业部打造一体化质量管理平台

    互联网企业质量管理的困惑 作为互联网时代的互联网企业,我们的研发模式和传统模式相比,最显著的不同在于发布节奏加快了,这个加快不是快了10%,20%,50%,而是加快了几倍,甚至几十倍,上百倍.面对加快 ...

  4. All Tips

    Outlook分享心得 这是在爱奇艺的一场Outlook分享会上我记录的笔记. Read More 分享一点"关于应届生如何写简历"的人生经验 应届生如何写好一份求职简历是一件重要 ...

  5. Ubuntu 16.04 apt 国内源

    一.推荐几个 Ubuntu 16.04 国内的 apt 源 1. 阿里源 # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (2 ...

  6. centos安装图形界面通常有两种方式

    centos安装图形界面通常有两种方式   1.通过系统安装,在配置选择软件界面,选择GNOME桌面模式.

  7. 关于图数据库HugeGraph的百万,千万,亿量级测试

    1.Hugegraph测试硬件 1.1.本机硬件 本机测试hugeGraph版本:0.10.4 后置存储数据库:rocksdb,1TB的普通硬盘 1.2.测试服务器硬件 测试服务器hugegraph版 ...

  8. 正式学习MVC 02

    1.cookie 继续讲解MVC的内置对象cookie 相对不安全 1)保存cookie public ActionResult Index() { // 设置cookie以及过期时间 Respons ...

  9. 【布局】圣杯布局&双飞翼布局

    背景 随着前端技术的发展推进,web端的布局方式已基本成熟,那么在网站布局方式中,三列布局最为常用,布局方式也有很多,渐渐的开发者们开始从效率的角度优化自己的代码"如果三排布局能将中间的模块 ...

  10. 将url转化成file文件

            let img = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=508387608,28489740 ...