100726A
迭代深搜,从最深的地方搜,然后一个数被搜过了,标记用过,以后不再访问
#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的更多相关文章
随机推荐
- bzoj2438[中山市选2011]杀人游戏
Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面, 查出谁是杀手. 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他 认识的人, ...
- ubuntu下解析udt数据包
udt是通过udp进行端到端可靠传输的一个协议,有其默认拥塞控制算法. 之前ubuntu下wireshark的版本是1.10,不能直接解析udt数据包[1],升级到最新的2.0.0即可过滤udt数据包 ...
- 事件--c#
以上是事件的几个操作. 事件由五个组件构成: 具体作用如下: 事件声明: event 委托类型 事件名:例子: public event EventHandler Elapsed; 还可同时声明几个 ...
- win10显示此电脑
http://jingyan.baidu.com/article/3aed632e00dfe17011809169.html
- xhEditor用法
xhEditor是一个基于jQuery开发的简单迷你并且高效的在线可视化HTML编辑器,而且兼容很多浏览器,所以就选它了,具体使用如下: 1 .下载xhEditor 最新版本 下载地址:http:// ...
- jquery选择器空格与大于号、加号与波浪号的区别
空格:$('parent childchild')表示获取parent下的所有的childchild节点,所有的子孙. 大于号:$('parent > child')表示获取parent下的所有 ...
- JAVA格物致知开篇:凡事预则立不预则废
在我的这一生中,我发现我做事的方式可以用一句话概括:凡事预则立,不预则废.这么多年,我一直秉承着要做有准备的事情,不打无准备之仗的道理来过活.其实这样会让我的妻子非常的烦恼,她是乐天派,喜欢事情来了才 ...
- 高仿Windows Phone QQ登录界面
给 TextBox文本框前添加图片 扩展PhoneTextBox:添加一个类"ExtentPhoneTextBox"继承 PhoneTextBox ,在"ExtentPh ...
- HDInsight - 1,简介
最近工作需要,要看HDInsight部分,这里要做笔记.自然是官网资料最权威,所以内容都从这里搬过来:https://azure.microsoft.com/en-us/documentation/a ...
- 重拾Blog
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...