当前位置: 首页 > news >正文

luogu P1037 产生数

原题链接:https://www.luogu.org/problem/show?pid=1037

首先,我不知道标签的搜索是哪里来的,这明明就是个Floyd+乘法原理

首先0—9每个数自己想自己连边,然后读入给出的边,跑一边Floyd,因为此题并没有要求步数的要求,所以只需要记录能否到达即可。1为能到达。

然后统计每一个数字都能到达几个数字(本身也算),将所有结果乘起来,用高精度处理一下就好了

 

#include<cstdio>
#include<cstring>
int n,e[20][20];
int num[20],ans[50],l;
char a[50];
int main()
{
    scanf("%s %d",a,&n);
    for(int i=1;i<=n;i++)
    {
        int x,y;
        scanf("%d %d",&x,&y);
        e[x][y]=1;
    }
    for(int i=0;i<=9;i++) e[i][i]=1;
    for(int k=0;k<=9;k++)
    {
        for(int i=0;i<=9;i++)
        {
            for(int j=0;j<=9;j++)
            {
                if(e[i][k]==1&&e[k][j]==1) e[i][j]=1;
            }
        }
    }
    int len=strlen(a);
    for(int i=0;i<len;i++)
    {
        int s=a[i]-'0';
        for(int j=0;j<=9;j++)
        {
            if(e[s][j]==1) num[i]++;  
        }
    }
    ans[0]=1;
    for(int i=0;i<len;i++)
    {
        for(int j=0;j<=l;j++) ans[j]*=num[i];
        for(int j=0;j<=l;j++)
        {
            if(ans[j]>9)
            {
                ans[j+1]+=ans[j]/10;
                ans[j]%=10;
            }
        }
        if(ans[l+1]!=0) l++;
    }
    for(int i=l;i>=0;i--) printf("%d",ans[i]);
    return 0;
}

 

转载于:https://www.cnblogs.com/zeroform/p/7693803.html

相关文章:

  • [NOIP2014普及组]子矩阵
  • python中的数据结构
  • 结对编程——四则运算界面化
  • [No000010F]Git8/9-使用GitHub
  • 微信
  • Android连接热点的Socket文件传输
  • JS中的函数知识点
  • 上传第三方jar包至maven私服,以geotools为例
  • Shell记录-Shell命令(find)
  • 上海公积金社保业务办理
  • Ubuntu 16.04下解决sublime text3无法输中文问题
  • week5
  • lua实现table转string
  • 毕业设计10-26星期四
  • 洛谷P3469 [POI2008]BLO-Blockade
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • docker-consul
  • HTTP 简介
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • java概述
  • jquery cookie
  • overflow: hidden IE7无效
  • Python爬虫--- 1.3 BS4库的解析器
  • react-native 安卓真机环境搭建
  • swift基础之_对象 实例方法 对象方法。
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 后端_ThinkPHP5
  • ------- 计算机网络基础
  • 聊聊hikari连接池的leakDetectionThreshold
  • 用Canvas画一棵二叉树
  • 【干货分享】dos命令大全
  • AI算硅基生命吗,为什么?
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​queue --- 一个同步的队列类​
  • ​水经微图Web1.5.0版即将上线
  • #pragma once与条件编译
  • $L^p$ 调和函数恒为零
  • (3)nginx 配置(nginx.conf)
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (规划)24届春招和25届暑假实习路线准备规划
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (三)模仿学习-Action数据的模仿
  • (十三)Flask之特殊装饰器详解
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)linux下的时间函数使用
  • .htaccess配置重写url引擎
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 分布式技术比较
  • .Net下的签名与混淆
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @Autowired和@Resource的区别