codevs——1009 产生数
2024-09-04 01:11:44
题目描述 Description
给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15)。
规则:
一位数可变换成另一个一位数:
规则的右部不能为零。
例如:n=234。有规则(k=2):
2-> 5
3-> 6
上面的整数 234 经过变换后可能产生出的整数为(包括原数):
234
534
264
564
共 4 种不同的产生数
问题:
给出一个整数 n 和 k 个规则。
求出:
经过任意次的变换(0次或多次),能产生出多少个不同整数。
仅要求输出个数。
输入描述 Input Description
键盘输人,格式为:
n k
x1 y1
x2 y2
... ...
xn yn
输出描述 Output Description
屏幕输出,格式为:
一个整数(满足条件的个数)
样例输入 Sample Input
234 2
2 5
3 6
样例输出 Sample Output
4
代码:只能的80分,剩下的要写高精
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #define N 1010 using namespace std; char ch[N]; ][]; long long a,b,m,l,s,ans,num; int read() { ,f=; char ch=getchar(); ; ch=getchar();} +ch-'; ch=getchar();} return x*f; } int main() { cin>>ch;m=read(); l=strlen(ch);ans=; ;i<=m;i++) { a=read(),b=read(); dis[a][b]=; } ;i<=;i++) ;j<=;j++) ;k<=;k++) if(i!=j&&j!=k&&k!=i&&dis[i][k]&&dis[k][j]) dis[i][j]=; ;i<l;i++) { s=ch[i]-'; num=; ;j<=;j++) if(dis[s][j]&&s!=j) ++num; ans*=num; } printf("%I64d",ans); ; }
最新文章
- ESM335x Linux输出脉冲计数
- WEB核心IOC篇
- golang面向对象初识
- 关于CSS中的PX值(像素)
- 抽象工厂模式(python版)
- css图片磨砂化
- GET: https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login? loginicon=true &;uuid=odcptUu2JA==&;tip=0
- PHP二维数组合并,根据某个key合并
- hadoop(二)搭建伪分布式集群
- js中var,let,const理解
- CAS、原子操作类的应用与浅析及Java8对其的优化
- 深入python的set和dict
- Nodejs之路:非I/O的异步API
- USART of STM32
- 获取Django中model字段名 字段的verbose_name
- 线程Event事件
- 用wget做站点镜像
- 9、搜索 :ion-searchbar
- Oracle:environment variable ";PATH"; does not exceed the recommended length
- dilworth定理的通俗讲解
热门文章
- AJPFX关于增强for的概述和使用(foreach)
- 洛谷 P1886 滑动窗口 (数据与其他网站不同。。)
- C/C++ 运算符重载、数据类型转换
- 迅为电子HMI人机界面|CAN总线触摸屏
- cf536b——优先队列的运用
- 安装gitlab并配置邮箱
- VS2017 ATL创建ActiveX编程要点
- maven release插件将一版本发布到仓库中时Return code is: 401, ReasonPhrase:Unauthorized
- PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (三) -- Header Exchange
- Bootstrap table的基础用法