zoukankan      html  css  js  c++  java
  • 【递归】产生数

    问题 E: 【递归与递推】产生数

    题目描述

     给出一个整数n(n<1030)和m个变换规则(m≤20)。

    约定:一个数字可以变换成另一个数字,规则的右部不能为零,即零不能由另一个数字变换而成。而这里所说的一个数字就是指一个一位数。

    现在给出一个整数n和m个规则,要你求出对n的每一位数字经过任意次的变换(0次或多次),能产生出多少个不同的整数。


    输入

    共m+2行,第一行是一个不超过30位的整数n,第2行是一个正整数m,接下来的m行是m个变换规则,每一规则是两个数字x、y,中间用一个空格间隔,表示x可以变换成y。

    输出

    仅一行,表示可以产生的不同整数的个数。

    样例输入

    1 2 3
    2
    1 2
    2 3
    

    样例输出

    6
    #include <iostream>
    #include <cstring>
    #include <cstdio>
     
    using namespace std;
    int a[35],n,x,y,f[10];
    bool g[11][11];
    char s[65];
    void init() {
        for(int i = 0; i <= 9; i++) {
                f[i]= 0;
            for(int j = 0; j <= 9; j++) {
             if(i != j)   g[i][j] = false;
             else g[i][j] = true;
            }
        }
    }
    void floyd() {
        for (int k = 0; k <= 9; k++) {
            for (int i = 0; i <= 9; i++) {
                for(int j = 0; j<=9; j++) {
                if(g[i][k] && g[k][j]) g[i][j] =  true;
                }
            }
     
        }
     
    }
    int slove(){
        for(int i = 0; i <=9; i++){
            for(int j = 0; j<=9; j++){
                if(g[i][j]) f[i]++;
            }
        }
        int sum  = 1;
        int len = strlen(s);
        for(int i = 0; i < len; i++){
            if(s[i] == ' ') continue;
            else
            {
                sum *= f[s[i]-'0'];
            }
        }
        return sum;
    }
    int main() {
        init();
        gets(s);
        scanf("%d", &n);
        for(int i = 0; i < n; i++) {
            scanf("%d%d", &x, &y);
            g[x][y] = true;
        }
        floyd();
        printf("%d
    ",slove());
        return 0;
    }
    View Code
  • 相关阅读:
    个人图床【Gitee+PicGo(+Typora)】
    java 对象序列化
    @RequestParam和@PathVariable
    restful架构
    数组跟切片的区别
    为什么java支持 一个类实现多个接口;但是只能继承一个类
    == 与equals区别
    static代码块是先加载的,不能用成员变量。可以new。
    @Configuration和 @Bean
    Thymeleaf 常用th标签基础整理
  • 原文地址:https://www.cnblogs.com/cshg/p/5641827.html
Copyright © 2011-2022 走看看