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的更多相关文章
随机推荐
- ATM模拟程序
一个很简单的ATM模拟程序 #include <stdio.h> void chaxun(int a3){ int b; b=a3; printf("您的余额为:%d\n&quo ...
- poj 3264
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 44594 Accepted: 20931 ...
- 协议的分用以及wireshark对协议的识别
在TCP/IP详解一书中谈到了协议的分用,书中的图1-8如上.图1-8可以很好地解释在互联网的分层结构中,底层的协议头是如何承载上层的不同的协议的.对于链路层而言,以太网首部中有不同帧类型用于表示以太 ...
- Android入门篇1-Hello World
一.android studio安装. 二.项目结构 三.运行流程 src->main->AndroidMainifest.xml注册HelloWorldActivity(intent-f ...
- 移动开发webapp开发常用meta设置手机浏览器全屏模式
1.WebApp全屏模式: <meta name="viewport" content="width=device-width,initial-scale=1.0, ...
- iOS多线程开发
概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算.可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行.但是机器码是按顺序执行的,一个复杂的多步操 ...
- WPF 4.0 DatePicker 快速录入
WPF 4.0的DatePicker在通过键盘录入日期的时候是非常让人郁闷的.必须按照日期的格式来完整输入例如,比如输入“2010/10/10”才能识别.而实际上在一些要求快速录入的场合,用户更希望直 ...
- distributed caching for .net applications
distributed caching for .net applications fast, scalable distributed caching with meaningful perform ...
- Linux socket多进程服务器框架一
重点:socket共用方法中错误码的定义以及错误码的解析 底层辅助代码 //serhelp.h #ifndef _vxser #define _vxser #ifdef __cplusplus ext ...
- Entity Framework6 with Oracle(可实现code first)
Oracle 与2个月前刚提供对EF6的支持.以前只支持到EF5.EF6有很多有用的功能 值得升级.这里介绍下如何支持Oracle 一.Oracle 对.net支持的一些基础知识了解介绍. 1.早 ...