迭代深搜,从最深的地方搜,然后一个数被搜过了,标记用过,以后不再访问

#include<iostream>
#include<cstring>
#include<map>
#include<algorithm>
using namespace std;
map<int,int>use;
int used[10];
int n,ans,T,tar;
string s;
int a[10];
bool isprime(int x)
{
if(x<2)return false;
for(int i=2;i*i<=x;i++)if(x%i==0)return false;
return true;
}
void dfs(int d,int num)
{
if(d==tar+1)return;
if(use[num])return;
if(isprime(num)&&!use[num])
{ans++;/*cout<<"num="<<num<<endl*/;}
use[num]=1;
for(int i=0;i<n;i++)
if(used[a[i]]>0)
{used[a[i]]--;dfs(d+1,num*10+a[i]);used[a[i]]++;}
}
int main()
{
cin>>T;
while(T--)
{
cin>>s;
n=s.length();
memset(used,0,sizeof(used));
ans=0;
use.clear();
for(int i=0;i<s.length();i++)
{a[i]=s[i]-'0';used[s[i]-'0']++;}
for(int i=n;i>=1;i--)
{
tar=i;
dfs(0,0);
if(ans==0)break;
}
cout<<ans<<endl;
}
return 0;
}

100726A的更多相关文章

随机推荐

  1. 06章 Struts2国际化

    1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素.换言之,应用程序的功 ...

  2. AC日记——刺激 codevs 1958

    时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold     题目描述 Description saffah的一个朋友S酷爱滑雪,并且追求刺激(exitement,由于刺激 ...

  3. 炮(棋盘DP)

    一直以为自己写的就是状态压缩,结果写完才知道是个棋盘dp 首先看一下题目 嗯,象棋 ,还是只有炮的象棋 对于方案数有几种,我第一个考虑是dfs,但是超时稳稳的,所以果断放弃 然后记得以前有过和这个题差 ...

  4. java中“@Deprecated”的意思

    例如:Java内在的File类中有如下方法 @Deprecatedpublic URL toURL() throws MalformedURLException {return new URL(&qu ...

  5. 基于jquery的消息提示框toastr.js

    //消息提示全局配置 toastr.options = { "closeButton": false,//是否配置关闭按钮 "debug": false,//是 ...

  6. React 学习笔记(一)

    React + es6 一.createClass 与 component 的区别 The API (via 'extends React.Component') is similar to Reac ...

  7. JS中new都是干了些什么事情

    var Person = function(name){ this.name = name; this.say = function(){ return "I am " + thi ...

  8. X200s,Debian 8(Jessie) 安装流水帐

    1. U盘启动安装 a. 因为无线网卡驱动是non-free,需要另外下载,对应X200s,文件是iwlwifi-5000-5.ucode,下完放到安装U盘的根目录下,安装时就不会再提示而是直接安装  ...

  9. SQL Server 查询性能优化 相关文章

    来自: SQL Server 查询性能优化——堆表.碎片与索引(一) SQL Server 查询性能优化——堆表.碎片与索引(二) SQL Server 查询性能优化——覆盖索引(一) SQL Ser ...

  10. (原创)在Exchange 2007 server中使用实时黑名单服务(RBL)过滤垃圾邮件

    近一段有同事抱怨公司的邮件系统垃圾邮件非常多,早上上班打开邮箱垃圾邮件竟然有几十封.然后赶紧打开Exchange工具“邮件跟踪”,发现有每隔1到2分钟,邮件系统便会收到来自不同IP的垃圾邮件,由于源I ...