ssl1257-产生数【图论,最短路】

题目

给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15)。
  规则:
   一位数可变换成另一个一位数:
   规则的右部不能为零。
  例如:n=234。有规则(k=2):
    2-> 5
    3-> 6
  上面的整数 234 经过变换后可能产生出的整数为(包括原数):
   234
   534
   264
   564
  共 4 种不同的产生数
问题:
  给出一个整数 n 和 k 个规则。
求出:
  经过任意次的变换(0次或多次),能产生出多少个不同整数。
  仅要求输出个数。

输入

键盘输人,格式为:
  n k
  x1 y1
  x2 y2
  … …
  xk yk
  
234 2
2 5
3 6

输出

一个整数(满足条件的个数):
4


解题思路

用way[i][j]表示是否可以从数字i变为数字j。然后用Floyd算法计算数字互相转换,然后每个数字的方式乘起来(要用高精)。


代码

#include<cstdio>
#include<cstring>
using namespace std;
char s[41];
short a[41];
int k,x,y,way[10][10],n,f[10];
void add(int x)//高精乘
{int g=0;for (int i=1;i<=40;i++){a[i]=a[i]*x+g;g=a[i]/10;a[i]%=10;}
}
void write()//高精输出
{int x=40;while (a[x]==0) x--;for (int i=x;i>=1;i--) printf("%d",a[i]);
}
int main()
{scanf("%s %d\n",s,&k);n=strlen(s);//数字长度for (int i=1;i<=k;i++){scanf("%d%d",&x,&y);way[x][y]=true;//表示可以从x变为y}for (int k=0;k<=9;k++)for (int i=0;i<=9;i++)for (int j=0;j<=9;j++)way[i][j]=(way[i][j] or way[i][k] and way[k][j]);//计算是否可以经过k从i变为jfor (int i=0;i<=9;i++){for (int j=0;j<=9;j++)if (i!=j && way[i][j]) f[i]++;f[i]++;//计算该数字的变化方式}   a[1]=1;for (int i=0;i<n;i++){add(f[s[i]-48]);//乘}write();//输出
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet 流程控制

在之前的登陆例子里面所有的代码都是放到了jsp的页面中&#xff0c;但是JSP是负责显示的&#xff0c;现在用于了流程控制&#xff0c;这样十分不妥&#xff0c;所以我们把代码提取到了servlet里面 代码实现 Login.jsp <h3>用户登录</h3> <form action"…

TCP 三次握手原理,你真的理解吗

转载自 TCP 三次握手原理&#xff0c;你真的理解吗 最近&#xff0c;阿里中间件小哥哥蛰剑碰到一个问题——client端连接服务器总是抛异常。在反复定位分析、并查阅各种资料文章搞懂后&#xff0c;他发现没有文章把这两个队列以及怎么观察他们的指标说清楚。 因此&#xff0…

属于你们的“礼仪小课堂”

2020年7月2日&#xff0c;对于3班的孩子们来说&#xff0c;是个无比重要的日子。在于老师&#xff08;6班班主任&#xff09;和王老师&#xff08;3班班主任&#xff09;紧锣密鼓的准备下&#xff0c;终于在我们班内开展了以“礼仪”为主题的专题讲解&#xff0c;此次讲解的主角…

.Net程序调试与追踪的一些方法

前言 作为一个.net开发工程师&#xff0c;不管是在写桌面程序、服务程序或web程序&#xff0c;在开发阶段&#xff0c;我们必须非常熟悉vs的动态调试技能&#xff0c;当然web程序可能还需要调试前端的脚本或样式&#xff0c;这不在本文的讨论范围。本文主要介绍vs的动态调试基…

toString()

Object类中toString()的使用&#xff1a; 1. 当我们输出一个对象的引用时&#xff0c;实际上就是调用当前对象的toString() 2. Object类中toString()的定义&#xff1a;public String toString() {return getClass().getName() "" Integer.toHexString(hashCode())…

线上服务器内存分析及问题排查

转载自 线上服务器内存分析及问题排查 平常的工作中&#xff0c;在衡量服务器的性能时&#xff0c;经常会涉及到几个指标&#xff0c;load、cpu、mem、qps、rt等。每个指标都有其独特的意义&#xff0c;很多时候在线上出现问题时&#xff0c;往往会伴随着某些指标的异常。大部…

ssl1762-工厂的烦恼【图论,最短路变形(最长路)】

题目 一个有向图&#xff0c;求它的最长路。 输入 5 5 1 2 2 2 4 9 1 3 7 3 4 1 4 5 6 输出 17 解题思路 就是最短路的算法进行一些更改。不过注意加判断 if (a[i][k] && a[k][j]) 因为最短路如果有一个不能连不会对结果照成影响&#xff0c;可最长路就不…

RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World

一、简介 RabbitMQ是一个消息的代理器&#xff0c;用于接收和发送消息&#xff0c;你可以这样想&#xff0c;他就是一个邮局&#xff0c;当您把需要寄送的邮件投递到邮筒之时&#xff0c;你可以确定的是邮递员先生肯定会把邮件发送到需要接收邮件的人的手里&#xff0c;不…

红歌合唱之团结就是力量

今天&#xff0c;由王老师组织的班级红歌大合唱之“团结就是力量”圆满落幕&#xff01;下面是整个合唱的视频&#xff0c;同学们个个都朝气蓬勃&#xff1a;以下是《团结就是力量》的全部歌词团结就是力量团结就是力量这力量是铁这力量是钢比铁还硬比钢还强向着法西斯蒂开火让…

ssl1615-Frogger【图论,最小生成树,并查集】

题目 给一个无向图&#xff0c;要求从点1到点2的一条路&#xff0c;要求这条路上的边的最大值尽量小。 输入输入 多组数据&#xff0c;每个数据n1行&#xff0c;分别是n和点的坐标 2 0 0 3 4 3 17 4 19 4 18 5 0 输出 这条路上的边的最大值 Scenario #1 Frog Di…

Servlet API

1、书写一个servlet的方式 Servlet必须直接或间接实现 javax.servlet.Servlet 接口 通过继承javax.servlet.GenericServlet 类实现跨协议的 Servlet 通过继承javax.servlet.HttpServlet实现HTTP Servlet 自己定义个servlet&#xff0c;然后其他的java类都继承自己写好的servlet…

EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)

引言 大家好像对分析源码厌倦了&#xff0c;说实在我也会厌倦&#xff0c;不过不看是无法分析其后面的东西&#xff0c;从易到难是一个必要的过程。 今天说下EventBus&#xff0c;前几天园里的大神已经把其解刨事件总线&#xff08;Event Bus&#xff09;知多少&#xff0c;我…

再有人问你synchronized是什么,就把这篇文章发给他。

转载自 再有人问你synchronized是什么&#xff0c;就把这篇文章发给他。 在再有人问你Java内存模型是什么&#xff0c;就把这篇文章发给他中我们曾经介绍过&#xff0c;Java语言为了解决并发编程中存在的原子性、可见性和有序性问题&#xff0c;提供了一系列和并发处理相关的…

基本数据类型、包装类、String三者之间的相互转换

package com.wdl.day13;import org.junit.Test;/** 包装类的使用:* 1.java提供了8种基本数据类型对应的包装类&#xff0c;使得基本数据类型的变量具有类的特征** 2.掌握的&#xff1a;基本数据类型、包装类、String三者之间的相互转换****/ public class WrapperTest {//Strin…

很简单很简单的DBHelper类

记录一个简单的DBHelper类吧&#xff0c;用的时候在上来拿&#xff01; /// <summary>/// 数据库连接工具类/// </summary>public class DBHelper{string constr "Data Source.;Initial CatalogschoolDB;Integrated SecurityTrue";private SqlConnecti…

洛谷P3371-【模板】单源最短路【SPFA】

题目 一个有向图&#xff0c;求一点到所有点的最短距离 输入 4 6 1(4个点&#xff0c;6条边&#xff0c;从1出发) 1 2 2(1点到2点有一条权值2的线) 2 3 2 2 4 1 1 3 5 3 4 3 1 4 4 输出 0 2 4 3 解题思路 这题数据非常的大 说明 时空限制&#xff1a;1000ms,128M …

DDD理论学习系列(1)-- 通用语言

1.引言 在开始之前&#xff0c;我想我们有必要先了解以下DDD的主要参与者。因为毕竟语言是人说的吗&#xff0c;就像我们面向对象编程一样&#xff0c;那通用语言面向的是&#xff1f;DDD的主要参与者&#xff1a;领域专家开发人员领域专家&#xff1a;精通业务的任何人。开发…

Java中枚举的线程安全性及序列化问题

转载自 Java中枚举的线程安全性及序列化问题 Java SE5提供了一种新的类型-Java的枚举类型&#xff0c;关键字enum可以将一组具名的值的有限集合创建为一种新的类型&#xff0c;而这些具名的值可以作为常规的程序组件使用&#xff0c;这是一种非常有用的功能。本文将深入分析枚…

Servlet 参数读取

1、配置参数读取的意义&#xff1a; 把参数提取到配置的信息中这样就大大的增加了整个代码的使用性方面后期的代码维护 需要知道&#xff0c; 在这里的参数读取仅仅是读到程序里面。 2、实现代码 package com.bjsxt.servlet;import javax.servlet.ServletException; import j…

定了!对于本周四(7.16日)抽奖活动取消简要说明,新抽奖活动暂定下周三(7.22日)...

大家好&#xff0c;我是雄雄&#xff0c;对于本周四&#xff08;7.16日&#xff09;抽奖活动取消简要说明&#xff0c;新抽奖活动暂定下周三&#xff08;7.22日&#xff09;&#xff0c;欢迎各位粉丝积极参与&#xff0c;奖品已经准备好了&#xff0c;你&#xff01;准备好了吗…