Codeforces Problem 161E - Polycarpus the Safecracker

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

先暴力打素数表,然后枚举5位数里(从高位到低位)有i位确定且为x的数有多少个。

 具体解某个数时暴力即可

#include<stdio.h>
#include<math.h>
#include<vector>
#include<string.h>
using namespace std;
bool vis[100010];
vector<int>dp[5][100010];
int k,l;
int a[6][6];
int dfs(int now){
	int i,j,x=0,sum=0;
	for(i=0;i<now;i++)
		x=x*10+a[now][i];
	if(i==l-1)
		return dp[1][x].size();
	for(i=0;i<dp[l-now][x].size();i++){
		int tem=dp[l-now][x][i];
		for(j=l-1;j>=now;j--){
			a[j][now]=a[now][j]=tem%10;
			tem/=10;
		}
		sum+=dfs(now+1);
	}
	return sum;
}
int main(){
	int i,j,n;
	int m=sqrt(100000.5);
	for(i=2;i<=m;i++)
		if(!vis[i]){
			for(j=i*i;j<=100000;j+=i)
				vis[j]=1;
		}
	for(i=2;i<100000;i++)
		if(!vis[i]){
			int tem=i;
			tem/=10;
			for(j=1;j<=4;j++){    //表示5位数有j位个未确定
				dp[j][tem].push_back(i);
				tem/=10;
			}
		}
	scanf("%d",&n);
	char str[7];
	for(j=1;j<=n;j++){
		scanf("%s",str);
		l=strlen(str);
		for(i=0;str[i]!='\0';i++){
			a[0][i]=a[i][0]=str[i]-'0';
		}
		printf("%d\n",dfs(1));
	}
}


 

MATLAB实现的两级OPF与电动车充电调度,用于配电网络.zip 1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 立即下载

相关推荐

Python 寄存器位域解析与 JSON 配置工具(芯片开发+寄存器/位域+解析源码+寄存器转储分析)

根据 JSON 指定位宽和字段起止位,解析寄存器数值并显示枚举含义。包含重叠字段、重复名称、位范围和输入数值检查。 适用于嵌入式软件开发人员、驱动开发入门者及相关技术学习者。资源包含源码或模板、使用说明及验证范围说明。Python 3.10+,仅使用标准库;寄存器宽度 1 至 64 位。 功能边界见 README.md,实际验证情况见 TESTING.md。

Codeforces-161-E(快速幂,公式)

Codeforces 161E-Tetrahedron 本篇文章部分参考 [https://blog.csdn.net/nolanddream/article/details/44086021] 题目原址 [http://codeforces.com/contest/166/problem/E] 题意 一个正四面体顶点为A,B,C,D,从D出发,每走一步,更变当前所在顶点(不能保持不变),给定一个...

terry的博客 864

UAC白名单设置-软件使用

代码下载链接: https://pan.quark.cn/s/a4b39357ea24 用户账户控制(UAC)白名单的配置 Windows7环境中 UAC(User Account Control,用户帐户控制)是由微软在Windows Vista版本中推出的一项旨在增强系统安全性的创新技术,该技术强制要求用户在执行可能干扰计算机正常运作的操作或进行更改会波及其他用户设置的变动前,必须提供相应的权限或管理员密码进行验证。通过对这些操作启动前进行授权确认,UAC能够有效阻止恶意软件及间谍软件在未获授权的状态下于计算机内进行安装或实施修改。 自从Vista版本问世以来,微软便开始推行这一全新的安全机制,可视为对系统安全防护的显著提升。尽管UAC确实能够在一定程度上对某些非法程序起到防御作用,但与此同时,这一功能也给众多用户带来了诸多不便。 因此,许多用户开始探寻是否存在类似于白名单的功能,以便将那些值得信赖的程序直接赋予运行权限。事实上,这类功能确实存在,不过微软并未将其作为标准配置提供。 网络上关于此问题的绝大多数建议都是建议禁用UAC,这种说法显然缺乏针对性,因为若用户希望禁用此功能,本就不会提出相关疑问。 通过运用微软官方发布的Microsoft Application Compatibility Toolkit 5.6版本,可以将信任的程序纳入系统白名单范畴。 获取Application Compatibility Toolkit 安装程序成功后会出现三个可执行文件 以管理员身份启动Compatibility Administrator 在Custom DataBases部分创建新的数据库,并添加一个Application Fix(在下方空白处点击右键,选择...

【深搜+模拟】VK Cup 2012 Round 1-E. Polycarpus the Safecracker

CF上的题考的就是思维啊,而这道题就是要用到十分巧妙的处理…… 题意:给定一个素数作为一个正方阵的第一行,而下面几行都要补一个素数进去形成一个对称矩阵,即当前矩阵与转置后的矩阵相等。 如:239                         9001         307                         0002         977

AndRing的专栏 1410

Codeforces Round #161 (Div. 2) A. Beautiful Matrix

题目:http://codeforces.com/contest/263/problem/A #include <iostream> #include <cmath> using namespace std; int main() { int t; int row,col; for(int i=0;i<5;i++) ...

weixin_33774308的博客 309

计算n!末尾所包含0的个数

这是一个有趣的问题。 例如,5!=120,其末尾所含有的“0”的个数为1;10!= 3628800,其末尾所含有的“0”的个数为2;20!= 2432902008176640000,其末尾所含有的“0”的个数为4。 这里先给出其计算公式,后面给出推导过程。令f(x)表示正整数x末尾所含有的“0”的个数,则有:        当0       当n >= 5时,f(n!) = k

1292765944的专栏 5653

分数与小数的相互转换

小数转化为分数   题目:http://acm.hdu.edu.cn/showproblem.php?pid=1717   题意:把小数转化为分数,循环部分用()表示。 [cpp] view plaincopy void Work(char str[])   {       int len = strlen(str);

1292765944的专栏 5132

zoj 2562

求反素数 搜索剪枝即可 #include typedef long long ll; int yes[200]; int prime[100]; ll maxsum,minnum,n; void dfs(ll num,ll sum,int pos,int limit){ int i; ll temp; if(sum>maxsum){ m

1292765944的专栏 1532

携程预赛第一场第一题

题面:  森林中有一排香蕉树(无限长),一只猴子站在其中一棵树上,猴子在跳跃前要先抽取一张卡片,卡片上写有A+1个自然数,其中最后一个是B,前A个数只能小于等于B,卡片上的数字可以相同。猴子每次跳跃先从卡片上任选一个自然数C,然后向左、或向右跳C棵树。猴子的任务是:跳到与它左边相邻的香蕉树上时,就可以吃掉上面的香蕉。      例如,当A=2,B=4时,对于卡片(2, 3, 4),猴子就可以

1292765944的专栏 1501

计算阶乘的位数 poj 1423

斯特林公式的应用num=floor(log10(N)+1); 斯特林公式如下:      带入公式即可。(其中floor可以用(int)代替,但不能用printf输出%.0f的浮点数,因为后者会自动四舍五入) #include #include #define PI 3.141592653589793239 #define ee 2.7182818284590452354 int an

1292765944的专栏 1181

关于约数,素因数的妙用

http://codeforces.com/problemset/problem/359/D http://codeforces.com/problemset/problem/265/D http://acm.hdu.edu.cn/showproblem.php?pid=4630 38界ACM杭州H题; 以上这些题目都是维护因数(CF359sqrt(n)枚举约数会T)

1292765944的专栏 1167

一个数学期望问题

1 . 有一个经典的概率问题:平均需要抛掷多少次硬币,才会首次出现连续的 n 个正面?它的答案是 2^(n+1) - 2 。 证明还不会。 http://www.matrix67.com/blog/archives/3638    http://www.cnblogs.com/atyuwen/archive/2010/09/12/coin.html 2 . 随便取一个 0 到 1 之间的数

1292765944的专栏 1106

Codeforces 216E - Martian Luck

此题用到了非常好的数字的性质 /*一个正数的digit root(k进制下,直到得到小于k的数) 等于 正数模k-1(其中k为进制),但是对于digit root为k-1的情况模k-1后即为0*/ #include #include #include typedef long long ll; using namespace std; int main(){ int k,b,n;

1292765944的专栏 1063

三分法

三分法要注意本题函数是下凹函数还是上凸函数 hdu4355 #include #include #include #include using namespace std; #define N 50010 double p[N],w[N]; int n; double cal(double mid){ int i; double ans=0; for(i=1;i<=n;i++){

1292765944的专栏 911

HDU 2604

快速幂取模,快速矩阵幂取模 先利用DFA构造转移矩阵 详见AC博客http://hi.baidu.com/aekdycoin/item/f3a474a7ee3b0d218919d3ae #include #include using namespace std; typedef long long ll; int len,mod; ll tem[6][6]; int main(){

1292765944的专栏 899

POJ 1305 勾股数组

数论上的一个定理 #include #include using namespace std; bool vis[1000010]; int gcd(int a,int b){ return b==0?a:gcd(b,a%b); } int main(){ int n,i,j,k; while(scanf("%d",&n)==1){ memset(vis,0,sizeof(vis));

1292765944的专栏 870

数论中的基本算法 POJ 1845 SPOJ DIVSUM

扩展欧几里得 求逆元(只要a与b互素,那么就有逆元) #include #include #include #include #define mod 9973 typedef long long ll; void ExGcd(int a,int b,int &x,int &y){ if(b==0){ x=1; y=0; return

1292765944的专栏 862
上一篇: HDU 4106 Fruit Ninja
下一篇: BOJ 394
Benzema67
博客等级 码龄15年 120粉丝 357原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值