009 产生数

2002年NOIP全国联赛普及组

时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold

题目描述 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

 1 #include<iostream>
 2 using namespace std;
 3 int can[1001][1001];
 4 long long int tot=1;
 5 int main()
 6 {
 7     string n;
 8     int m;
 9     cin>>n;
10     cin>>m;
11     for(int i=1;i<=m;i++)
12     {
13         int x,y;
14         cin>>x>>y;
15         can[x][y]=1;
16         can[y][x]=1;
17     }
18     for(int i=0;i<10;i++)
19     {
20         for(int j=0;j<10;j++)
21         {
22             for(int k=0;k<10;k++)
23             {
24                 if(j!=i&&i!=k&&j!=k)
25                 {
26                     if(can[i][j]==1&&can[i][k]==1)//将所有可能的情况计算出来 2->3 3->5 2->5
27                     can[k][j]=1;
28                 }
29             }
30         }
31     }
32     for(int i=0;i<n.length();i++)
33     {
34         int d=n[i]-48;
35         int now=1;
36         for(int j=0;j<10;j++)
37         {
38             if(can[d][j]==1&&d!=j)
39             {
40                 now++;
41             }
42         }
43         tot=tot*now;// 乘法原理
44     }
45     cout<<tot;
46     return 0;
47 }

转载于:https://www.cnblogs.com/zwfymqz/p/6640920.html

1009 产生数 2002年NOIP全国联赛普及组相关推荐

  1. 选数 2002年NOIP全国联赛普及组

    题目描述 Description 已知 n 个整数 x1,x2,-,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整 ...

  2. Codevs 1010 过河卒 2002年NOIP全国联赛普及组

    1010 过河卒 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 如图,A 点有一个过河卒 ...

  3. 【2002年NOIP全国联赛普及组】过河卒

    描述 棋盘上 A 点有一个过河卒,需要走到目标 B 点.卒行走的规则:可以向下.或者向右.同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为" ...

  4. 1099 字串变换 2002年NOIP全国联赛提高组

    1099 字串变换 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Description 已知有两个字串 A ...

  5. 【codevs 1315】1315 摆花2012年NOIP全国联赛普及组(dp)

    1315 摆花2012年NOIP全国联赛普及组  时间限制: 1 s   空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description     小明的花店新开张,为 ...

  6. 1316 文化之旅 2012年NOIP全国联赛普及组

    1316 文化之旅 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 有一位使者要游历各国,他每到一 ...

  7. 1313 质因数分解 2012年NOIP全国联赛普及组

    1313 质因数分解 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 已知正整数 n是两个不同 ...

  8. [2000年NOIP全国联赛普及组] 1019 单词接龙

    [2000年NOIP全国联赛普及组] 1019: 单词接龙 题目链接:http://129.211.20.246/problem.php?id=1019 题目描述 单词接龙是一个与我们经常玩的成语接龙 ...

  9. codevs 1043 方格取数 2000年NOIP全国联赛提高组

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而 ...

最新文章

  1. Navicat新建查询快捷键
  2. php学历低,学历低学起php来难不难
  3. linux系统加硬盘容量,Linux系统扩展硬盘空间
  4. android弹出输入框不影响布局,android 输入法弹出后,不影响activity原有布局
  5. linux系统 opt扩容,Linux虚拟机新增加了块100G硬盘后,把空间分配到/opt下
  6. __getattr__在python2.x与python3.x中的区别及其对属性截取与代理类的影响
  7. js 设备条形码字体_蚌埠食品袋激光打码机设备-青岛博泰格睿特
  8. 创建可调试,热加载的TypeScript+Koa工程
  9. CS 231n 学习笔记 03——课程3.1 损失函数
  10. Chromium OS编译手记
  11. 麒麟官方应用商店下载地址
  12. 【解决】Failed to process import candidates for configuration class [cn.itcast.eureka.EurekaApplication]
  13. openbsd mysql_在OpenBSD上运行MyDNSNameservers(MySQL / PHP + MyDNS + MyDNSConfig)
  14. 字体图标在服务器上显示不出来,fontawesome图标字体库组件在服务器上显示不出来图标的解决...
  15. 原来这就是 UI 设计师的门槛
  16. python plot如何保存图片_Matplotlib 保存图片、图画接口和显示中文的使用方法
  17. VC++ Excel电子表格读写示例
  18. 关于Jason封装数据使其在前端展示的简单操作
  19. 初学者如何以最简单方式学习Linux?
  20. 实用记账小技巧,将账目数据导出表格的方法

热门文章

  1. 关于OC中的block自己的一些理解(二)
  2. Windows五种IO模型性能分析和Linux五种IO模型性能分析
  3. Fluent NHibernate之旅
  4. TWiki 语法格式(TWiki语法教程及TWiki使用技巧)
  5. 在服务器端生成Excel文件然后从服务器下载的本地的代码
  6. 小程序如何封装自定义组件(Toast)
  7. LAMP介绍-MySQL安装
  8. 本科毕设论文——基于Kinect的拖拉机防撞系统
  9. 洛谷——P1290 欧几里德的游戏
  10. MySQL 导出数据