洛谷 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_1x1​y1​
x_2 y_2x2​y2​
... ...

x_n y_nxn​yn​

输出格式:

屏幕输出,格式为:

11个整数(满足条件的个数):

输入输出样例

输入样例#1: 复制

  1. 234 2
  2. 2 5
  3. 3 6
输出样例#1: 复制

  1. 4
  1. #include<cstdio>
  2. #include<cstring>
  3. int z,ans=,k;
  4. int a[],b[];
  5. int t[];
  6. bool v[];
  7. char s[];
  8. void dfs(int e)
  9. {
  10. for(int i=;i<=k;i++)
  11. {
  12. if(!v[b[i]]&&a[i]==e)
  13. {
  14. z++;
  15. v[b[i]]=true;
  16. dfs(b[i]);
  17. }
  18. }
  19. }
  20. int main()
  21. {
  22. scanf("%s",s);
  23. scanf("%d",&k);
  24. for(int i=;i<=k;i++)
  25. scanf("%d%d",&a[i],&b[i]);
  26. int l=strlen(s);
  27. for(int i=;i<l;i++)
  28. {
  29. z=;
  30. int c=s[i]=s[i]-'';
  31. memset(v,false,sizeof(v));
  32. v[c]=true;
  33. dfs(c);
  34. t[i]=+z;
  35. }
  36. int k[][];
  37. memset(k,,sizeof(k));
  38. for(int i=l;i>=;i--)
  39. t[i]=t[i-];
  40. k[][]=;
  41. k[][]=;
  42. k[][]=t[];
  43. for(int i=;i<=l;i++)
  44. {
  45. k[i][]=k[i-][];
  46. int x=;
  47. for(int j=;j<=k[i][];j++)
  48. {
  49. k[i][j]=k[i-][j]*t[i]+x;
  50. x=k[i][j]/;
  51. if(k[i][j]>=)
  52. k[i][j]%=;
  53. }
  54. if(x)
  55. {
  56. k[i][]++;
  57. k[i][k[i][]]=x;
  58. }
  59. }
  60. for(int i=k[l][];i>=;i--)
  61. printf("%d",k[l][i]);
  62. }

NOIP 2002 产生数的更多相关文章

  1. NOIP 2002 选数

    洛谷 P1036 选数 洛谷传送门 JDOJ 1297: [NOIP2002]选数 T2 JDOJ传送门 Description ​ 已知 n 个整数 x1,x2,-,xn,以及一个整数 k(k< ...

  2. NOIP 2002提高组 选数 dfs/暴力

    1008 选数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知 n 个整数 x1,x2,…, ...

  3. [NOIP 2002普及组]产生数(floyd+高精度)

    https://www.luogu.org/problem/P1037 题目描述 给出一个整数 n(n<1030) 和 k 个变换规则(k<=15). 规则: 一位数可变换成另一个一位数: ...

  4. NOIP 2002过河卒 Label:dp

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

  5. NOIP 2002 提高组 字串变换

    题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1.A2 可以变换为 B ...

  6. 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 ...

  7. 2018.07.08 NOIP模拟 好数(线段树)

    好数 题目背景 SOURCE:NOIP2016-AHSDFZ T3 题目描述 我们定义一个非负整数是"好数",当且仅当它符合以下条件之一: 1. 这个数是 0 或 1 . 2. 所 ...

  8. 过河卒 NOIp 2002 dp

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

  9. [ NOIP 2002 ] TG

    \(\\\) \(\#A\) 均分纸牌 有\(N\)堆纸牌,每堆有若干张,但纸牌总数必为\(N\)的倍数.可以在任一堆上取若干张纸牌,然后移动给其左右任意一侧的纸牌堆,求将所有的牌堆牌数都变为平均值最 ...

随机推荐

  1. JQuerys实现三级省市联动

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. 开源项目 13 log4net

    原文:https://www.cnblogs.com/pudefu/p/9300697.html 官方的api: http://logging.apache.org/log4net/release/s ...

  3. 简化wcf的service设置

    使用wcf作为c/s的通信桥梁,就免不了要写wcf service,更免不了写一些配置. 但是在把系统中所有的.net remoting service都转换成wcf service以后,发现居然有2 ...

  4. 【CF464E】The Classic Problem(主席树+最短路)

    点此看题面 大致题意: 给你一张无向图,每条边的边权为\(2^{x_i}\),求\(s\)到\(t\)的最短路. 最短路 最短路,首先考虑\(Dijkstra\).这里用\(SPFA\)似乎不太好,因 ...

  5. xLua 学习

    xLua https://github.com/Tencent/xLua 文档 https://tencent.github.io/xLua/public/v1/guide/index.html FA ...

  6. redis.windows.conf 配置注释

    . daemonize no Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 . pidfile /var/run/redis_6379.pid 当Redis以守 ...

  7. Linux中$()和${}区别(转)

    文章转自  https://blog.csdn.net/hxchuangxiaochuan/article/details/81204084 $( )中放的是命令,相当于` `,例如todaydate ...

  8. 【12月13日】A股ROE最高排名

    个股滚动ROE = 最近4个季度的归母净利润 / ((期初归母净资产 + 期末归母净资产) / 2). 查看更多个股ROE最高排名 中公教育(SZ002607) - ROE_TTM:92.66% - ...

  9. ICP 匹配定位算法学习记录

    icp 算法原理是: 选取目标点云P和源点云Q,按照一定的约束条件,找到最邻近点(pi,qi),然后计算出最优R和t(旋转和平移), 使得误差函数最小,误差函数E(R,t): 基本算法流程: 1.在目 ...

  10. Java中的Object类的几个方法

    Object类被称为上帝类,也被称为祖宗类.在定义Java类时,如果没有指定父类,那么默认都会去继承Object类.配合Java的向上类型转换,借助Object类就可以完成很多工作了. 在Object ...