首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
NOIP2002普及T3【产生数】
】的更多相关文章
NOIP2002普及T3【产生数】
做完发现居然没人用map搞映射特意来补充一发 很容易看出这是一道搜索题考虑搜索方案,如果按字符串转移,必须存储每种状态,空间复杂度明显会爆炸观察到每一位之间是互不影响的 考虑使用乘法原理搜索出每一位的情况总数,求它们的连乘积即为答案 时间复杂度O(n2^k)可以看出答案最大可以达到三十的十次方,会爆掉long long,所以需要写高精 具体处理可以选择STL(懒得自己写)对于映射,这是map的专长如果一个数能够映射到多个数呢?用map的时候从char映射到vector<char>即可 代码:…
洛谷P1036 [NOIP2002 普及组] 选数 (搜索)
n个数中选取k个数,判断这k个数的和是否为质数. 在dfs函数中的状态有:选了几个数,选的数的和,上一个选的数的位置: 试除法判断素数即可: 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=5e6+5; 4 int n,k,a[N],ans; 5 6 bool isprime(int x){ 7 int vi=sqrt(x); 8 for(int i=2;i<=vi;i++){ 9 if(x%i==0) ret…
NOIP2002普及组复赛B 选数
题目链接:https://ac.nowcoder.com/acm/contest/230/B 题目大意: 略 分析: DFS模板题. 代码如下: #include <bits/stdc++.h> using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define For(i,s,t) for (int i = (s); i <= (t); ++i) #define rFor(i,t,s) for (…
[NOIP2002] 普及组
产生数 预处理出一个数能变成多少种数,然后遍历原串的每一位,累乘方案数即可. 需要用到高精度. /*By SilverN*/ #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; ]; ],len; ]; int n; ][]; void mul(int x){ int i; ;i…
noip2002 普及组 过河卒
题目描述 棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为"马拦过河卒". 棋盘用坐标表示,A点(0, 0).B点(n, m)(n, m为不超过20的整数),同样马的位置坐标是需要给出的. 现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步. 输入输出格式 输入格式: 一行四个数据,分别表示B点坐标和马的坐标. 输出…
题解 【洛谷P1035】[NOIP2002普及组]级数求和
[NOIP2002普及组]级数求和 这个题……用循环也是可以的,不过我写了两种循环的题解,供各位dalao参考!O(∩_∩)O谢谢! for循环版本: #include<bits/stdc++.h>//万能头文件 using namespace std; double x; int s,i; //把变量定义成全局变量,变量一开始值都是0 int main(){ cin>>s;//输入 ;;i++){ x=x+/i;//累加 if(x>s)break;//达到条件后就可以退出循…
[NOIP 2002普及组]产生数(floyd+高精度)
https://www.luogu.org/problem/P1037 题目描述 给出一个整数 n(n<1030) 和 k 个变换规则(k<=15). 规则: 一位数可变换成另一个一位数:规则的右部不能为零. 例如:n=234.有规则(k=2): 2-> 5 3-> 6 上面的整数 234 经过变换后可能产生出的整数为(包括原数): 234 534 264 564 共 4 种不同的产生数 问题: 给出一个整数 n 和 k 个规则. 求出: 经过任意次的变换(0次或多次),能产生出多…
Noip2017 普及 T3 Chess
神奇的场上原码 #include<iostream> #include<cstdio> #include<cstring> #include<queue> //red 0 yellow 1 nothing 2 using namespace std; int map[101][101],n,m,ans=0x7fffffff,vis[101][101]; const int px[4]={1,-1,0,0},py[4]={0,0,1,-1}; struct n…
C++算法代码——级数求和[NOIP2002 普及组]
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1078 或者:https://www.luogu.com.cn/problem/P1035 题目描述 已知:Sn= 1+1/2+1/3+-+1/n.显然对于任意一个整数K,当n足够大的时候,Sn大于K.现给出一个整数K(1<=k<=15),要求计算出一个最小的n:使得Sn>K. 输入 键盘输入 k 输出 屏幕输出 n 样例输入 1 样例输出 2作者提示:一定要注意使用doub…
NOIP2002pj产生数[floyd 高精度]
背景 给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15). 规则:一位数可变换成另一个一位数:规则的右部不能为零. 例如:n=234.有规则(k=2):2-> 53-> 6上面的整数 234 经过变换后可能产生出的整数为(包括原数):234534264564共 4 种不同的产生数 描述 给出一个整数 n 和 k 个规则. 求出:经过任意次的变换(0次或多次),能产生出多少个不同整数. 仅要求输出个数. 格式 输入格式 n kx1 y1x2 y2... ...xn…