Codevs 1009 产生数
给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15)。
规则:
一位数可变换成另一个一位数:
规则的右部不能为零。
例如:n=234。有规则(k=2):
2-> 5
3-> 6
上面的整数 234 经过变换后可能产生出的整数为(包括原数):
234
534
264
564
共 4 种不同的产生数
问题:
给出一个整数 n 和 k 个规则。
求出:
经过任意次的变换(0次或多次),能产生出多少个不同整数。
仅要求输出个数。
键盘输人,格式为:
n k
x1 y1
x2 y2
... ...
xn yn
屏幕输出,格式为:
一个整数(满足条件的个数)
234 2
2 5
3 6
4
分析:
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
bool map[10][10];
int rules[10];
int ans[1000000];
int len,n,k;
char s[100];
int main()
{ freopen("creat.in","r",stdin);freopen("creat.out","w",stdout);int i,j,k,x,y;cin>>s>>k;for(i=1;i<=k;i++){cin>>x>>y;map[x][y]=1;}for (int i=0;i<10;++i) map[i][i]=true; for(k=0;k<=9;k++)for(i=0;i<=9;i++)for(j=0;j<=9;j++)map[i][j]=map[i][j]||(map[i][k] && map[k][j]);for(i=0;i<=9;i++)for(j=0;j<=9;j++)if(map[i][j])++rules[i];ans[1]=len=1; for (int i=0;i<strlen(s);++i) { int x=rules[s[i]-'0']; for (int j=1;j<=len;++j) ans[j]*=x; for (int j=1;j<=len;++j) { ans[j+1]+=ans[j]/10; ans[j]%=10; } while (ans[len]) { ans[len+1]+=ans[len]/10; ans[len]%=10; ++len; } } for (int i=len-1;i>0;--i) printf("%d",ans[i]); return 0;
}
------------------------------------------------------------------------------------------------------the end----------------------------------------------------------------------------------------------------
Codevs 1009 产生数相关推荐
- 1009 产生数 2002年NOIP全国联赛普及组
009 产生数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给出一个整数 n(n<10^ ...
- BP神经网络(手写数字识别)
1实验环境 实验环境:CPU i7-3770@3.40GHz,内存8G,windows10 64位操作系统 实现语言:python 实验数据:Mnist数据集 程序使用的数据库是mnist手写数字数据 ...
- 2023年你最值得了解的信息技术-AI篇(一)
列表 85 - 其他 辽宁省 大连优联智能 自动化生产线提供商 未融资 大连优联智能是一家自动化生产线提供商,集规划设计.制造安装.系统集成.视觉检测及AI数据智能分析于一体,可为汽车车身及发动机制造 ...
- [CODEVS 1087] 麦森数
描述 计算2P-1的位数和最后500位数字 分析 有一个公式,2^p的位数是p*lg2以十为底 2 的对数. 证明 : 2p=10lg2p=10p∗lg2 2^p = 10^{lg2^p} = 10^ ...
- [codevs 1907] 方格取数3
[codevs 1907] 方格取数3 题解: 二分图染色.最大点权独立集. 因为要用到最大独立集的一些思路,故先写了一篇最大独立集的题解:http://blog.csdn.net/qq_211102 ...
- [codevs 1227] 方格取数2
[codevs 1227] 方格取数 2 题解: 注:这是CODEVS的方格取数2,走k次的版本. 因为每个格子可以走无数次,但走过一次之后数字就变成了0,也就是只有一次可以加上格子里的数字.所以要拆 ...
- codevs 1227 方格取数 2
Description 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来, ...
- AC日记——丑数 codevs 1246
1246 丑数 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 对于一给定的素数集合 ...
- codevs 1043 方格取数 2000年NOIP全国联赛提高组
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而 ...
最新文章
- easyui datalist 动态绑定数据_一文看懂动态链接
- 机器学习该如何应用到量化投资系列(二)
- Python函数的非固定参数
- 江苏省事业单位计算机入面分数线,2020江苏事业单位统考周日笔试,考多少分进面?...
- java 上下文加载器_如何将JDK6 ToolProvider和JavaCompiler与上下文类加载器一起使用?...
- QML基础类型之real
- IntelliJ IDEA 使用随笔
- System.gc()调用 - 适用的场景
- 零基础入门深度学习(5) - 循环神经网络
- DataSet与DataReader的区别
- kubernetes资源对象--pod和job
- spring @Bean注解的使用
- MySQL 5.7 参考手册(官方中文版) | 2.2 安装和升级MySQL
- 【学习】从零开始的Android音视频开发(6)——MediaPlayerService中BinderDriver、创建播放器过程、建立StageFright层交互
- Java编一个收银小票_Java编程打印购物小票实现代码
- 本地颁发 SSL 证书,并开启 https 服务调试
- 墙裂推荐一个高质量的数据分析学习平台
- 如何使用ANSYS workbench导出最清晰的图的步骤
- python 中dtype 为object_DataFrame中的字符串,但dtype是对象
- Python 1-02 基础语法
热门文章
- Android集成友盟第三方登录
- 苹果iOS系统最新市占率统计:iOS 11份额达到52%
- 学习mysql_day2
- cypress 断言--should
- [Swift]LeetCode93. 复原IP地址 | Restore IP Addresses
- 鲁泰纺织:在行业整合中稳健前行
- 谁是西方历史上“第一个”数学家?
- 如何避免用户“漫天要价”和“就地还钱”
- 当AI入职FBI,克格勃直呼内行
- 智能家居系统的开源尝试