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的更多相关文章
随机推荐
- 02 Hibernate错题分析
解析:使用final修饰的成员变量是常量 解析:不存在StateMoreSession的对象 解析:一个PreparedStatement 可以执行多次executQuery方法 解析:A 使用H ...
- 高大上的uGUI正式版发布了
uGUI发布啦 本周期待已久的New UI System 发布了,因为这段时间项目是开发期,所以比较忙,也就没过多关注新UI了,趁着周六日有空,来瞅瞅这高大上的New UI System. PS:我也 ...
- MVC 数据验证[转]
前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解. 一.基础特性 一.Required 必填选项,当提交的表单缺少该值就引发验证错误. 二.StringLength 指定允许的长度 指 ...
- java 23 - 3 单例模式实现Runtime类
Runtime:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 其中一个方法: exec(String command) 在单独的进程中执行指定的字符串 ...
- Android爬坑之旅:软键盘挡住输入框问题的终极解决方案
前言 开发做得久了,总免不了会遇到各种坑.而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 Base 最基本的情况,如图所示:在页面 ...
- javascript里面foreach遍历函数介绍,以及跟jquery里面each的区别
foreach是把数组从头到尾遍历一遍,有三个参数分别是:数组元素,数组索引,数组本身.如果是一个参数,就是数组元素. var data=[1,2,3,4,5,6]; var sum=0; data. ...
- js对象定义
JS中的对象定义方式,跟服务端,还是有很大差别的! 现在来说一下JS类的定义 工厂模式 function creatHeven(name,age){ var temp =new Object(); t ...
- 1D1D动态规划优化初步
再学习一下动态规划的基本优化方法- 首先这篇文章应该大家都看过吧-没看过的自行百度 关于实现的思路文章里都给好了-这篇就主要给一点题目啥的 (P.S. 电脑重装了,如果博客发出来有一些奇怪的问题不要在 ...
- Docker容器概念讲解
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...
- js区分鼠标单双击 阻止事件冒泡
function clickOrDblClick(obj) { count++; if (obj != undefined) { var rowStr = $.trim($(obj).find(&qu ...