NOIP 2002 产生数
洛谷 P1037 产生数
https://www.luogu.org/problemnew/show/P1037
JDOJ 1298: [NOIP2002]产生数 T3
https://neooj.com:8082/oldoj/problem.php?id=1298
题目描述
给出一个整数n(n<10^{30})n(n<1030)和kk个变换规则(k \le 15)(k≤15)。
规则:
一位数可变换成另一个一位数:
规则的右部不能为零。
例如:n=234n=234。有规则(k=2k=2):
22->55
33->66
上面的整数234234经过变换后可能产生出的整数为(包括原数):
234234
534534
264264
564564
共44 种不同的产生数
问题:
给出一个整数 nn 和kk 个规则。
求出:
经过任意次的变换(00次或多次),能产生出多少个不同整数。
仅要求输出个数。
输入输出格式
输入格式:
键盘输入,格式为:
n knk
x_1 y_1x1y1
x_2 y_2x2y2
... ...
x_n y_nxnyn
输出格式:
屏幕输出,格式为:
11个整数(满足条件的个数):
输入输出样例
234 2
2 5
3 6
4
#include<cstdio>
#include<cstring>
int z,ans=,k;
int a[],b[];
int t[];
bool v[];
char s[];
void dfs(int e)
{
for(int i=;i<=k;i++)
{
if(!v[b[i]]&&a[i]==e)
{
z++;
v[b[i]]=true;
dfs(b[i]);
}
}
}
int main()
{
scanf("%s",s);
scanf("%d",&k);
for(int i=;i<=k;i++)
scanf("%d%d",&a[i],&b[i]);
int l=strlen(s);
for(int i=;i<l;i++)
{
z=;
int c=s[i]=s[i]-'';
memset(v,false,sizeof(v));
v[c]=true;
dfs(c);
t[i]=+z;
}
int k[][];
memset(k,,sizeof(k));
for(int i=l;i>=;i--)
t[i]=t[i-];
k[][]=;
k[][]=;
k[][]=t[];
for(int i=;i<=l;i++)
{
k[i][]=k[i-][];
int x=;
for(int j=;j<=k[i][];j++)
{
k[i][j]=k[i-][j]*t[i]+x;
x=k[i][j]/;
if(k[i][j]>=)
k[i][j]%=;
}
if(x)
{
k[i][]++;
k[i][k[i][]]=x;
}
}
for(int i=k[l][];i>=;i--)
printf("%d",k[l][i]);
}
NOIP 2002 产生数的更多相关文章
- NOIP 2002 选数
洛谷 P1036 选数 洛谷传送门 JDOJ 1297: [NOIP2002]选数 T2 JDOJ传送门 Description 已知 n 个整数 x1,x2,-,xn,以及一个整数 k(k< ...
- NOIP 2002提高组 选数 dfs/暴力
1008 选数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知 n 个整数 x1,x2,…, ...
- [NOIP 2002普及组]产生数(floyd+高精度)
https://www.luogu.org/problem/P1037 题目描述 给出一个整数 n(n<1030) 和 k 个变换规则(k<=15). 规则: 一位数可变换成另一个一位数: ...
- NOIP 2002过河卒 Label:dp
题目描述 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例如 ...
- NOIP 2002 提高组 字串变换
题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1.A2 可以变换为 B ...
- 2018.10.14 NOIP训练 猜数游戏(决策单调性优化dp)
传送门 一道神奇的dp题. 这题的决策单调性优化跟普通的不同. 首先发现这道题只跟r−lr-lr−l有关. 然后定义状态f[i][j]f[i][j]f[i][j]表示猜范围为[L,L+i−1][L,L ...
- 2018.07.08 NOIP模拟 好数(线段树)
好数 题目背景 SOURCE:NOIP2016-AHSDFZ T3 题目描述 我们定义一个非负整数是"好数",当且仅当它符合以下条件之一: 1. 这个数是 0 或 1 . 2. 所 ...
- 过河卒 NOIp 2002 dp
题目描述 棋盘上AAA点有一个过河卒,需要走到目标BBB点.卒行走的规则:可以向下.或者向右.同时在棋盘上CCC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为“马拦 ...
- [ NOIP 2002 ] TG
\(\\\) \(\#A\) 均分纸牌 有\(N\)堆纸牌,每堆有若干张,但纸牌总数必为\(N\)的倍数.可以在任一堆上取若干张纸牌,然后移动给其左右任意一侧的纸牌堆,求将所有的牌堆牌数都变为平均值最 ...
随机推荐
- hdu6470 矩阵快速幂+构造矩阵
http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意 \(f[n]=2f[n-2]+f[n-1]+n^3,n \leq 10^{18}\),求f[n] 题 ...
- 1+X证书Web前端开发HTML专项练习
1 . HTML5 之前的 HTML 版本是? A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 2 . HTML5 的正确 doctype 是? A.<!D ...
- jQuery 源码分析(一) 代码结构
jQuery是一个Javascript库,它支持链式操作方式,即对发生在同一个JQuery对象上的一组动作,可以直接接连写无需要重复获取对象.这一特点使得JQuery的代码无比优雅,而且有强大的选择器 ...
- 【MySQL配置参数】sync_binlog和innodb_flush_log_at_trx_commit
sync_binlog和innodb_flush_log_at_trx_commit这2个参数都是MySQL中,配置日志持久化时机的,但有很大不同,做下对比分析总结. 1.MySQL服务器配置参数:s ...
- 由OSS AccessKey泄露引发的思考
什么是OSS? 对象存储服务(Object Storage Service,OSS)是一种海量.安全.低成本.高可靠的云存储服务,适合存放任意类型的文件.容量和处理能力弹性扩展,多种存储类型供选择,全 ...
- C# 下载泛型数据
public class ExportTByNPOI { [STAThread] public static void ExportTDataByNPOI<T>(List<T> ...
- CentOS7/Ubuntu18系统时间同步ntp(转载)
转自 https://blog.csdn.net/u010226454/article/details/80896959 ---centos7.2上搭建ntp服务器,并实现时间同步 对于容器编排系统 ...
- c#之添加window服务(定时任务)
本文讲述使用window服务创建定时任务 1.如图,新建项目,windows桌面->windows服务 2.如图,右键,添加安装程序 3.在下图安装程序 serviceInstaller1 上右 ...
- 【WPF入门视频】Microsoft ToDo 应用项目实战
项目实战视频地址 第一天 第二天 第三天 第四天 第五天 第六天 项目实战源代码下载地址: 项目源代码下载
- runtime template in vuejs
在使用vuejs开发的过程中,有时候我们需要动态模板的场景,也就是说模板并不是静态定义好的,而是动态变化的. 比如在做一个所见所得编辑器时,编辑人员可能时刻需要调整他设计的页面内容,而如果页面内容包含 ...