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

【数据结构入门训练DAY-28】蓝桥杯算法提高VIP-产生数

文章目录

  • 前言
  • 一、题目
  • 二、解题思路
  • 结语

前言

本次训练内容

  1. 训练高精度乘法。
  2. 训练解题思维。

一、题目

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

输入格式

n  k 
x1  y1 
x2  y2 
...  ... 

xn  yn 

(n< 10^30) 

(k< =15)

输出格式

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

样例输入

234 2
2 5
3 6

样例输出

4

二、解题思路

        这道题目我认为就是高中数学排列组合的一种应用方式,然后因为题中涉及的数目很大,所以需要使用高精度的算法来辅助作答,然后题中的数值“n”我使用字符串存储。具体代码实现如下:

#include <bits/stdc++.h>
using namespace std;int main()
{int temp[10][10];//tag[i][j]=1表示存在i->j的变换int d[10000000];int p[10000000];string n;int k;while(cin>>n>>k){int x,y;for(int i=0;i<k;i++){cin>>x>>y;temp[x][y]=1;}for(int K=1;K<=9;K++)for(int i=0;i<=9;i++)for(int j=1;j<=9;j++)if(temp[i][K]&&temp[K][j]) temp[i][j]=1;//每个数字可以变换成几种数字形态包括数字本身for(int i=0;i<10;i++){temp[i][i]=1;for(int j=0;j<10;j++)if(temp[i][j])d[i]++;}int z=0;p[0]=1;//每个数字的本身for(int i=0;n[i];i++){z=0;int x=d[n[i]-'0'];//参考数学排列组合Annfor(int i=0;i<500;i++){p[i]=(p[i]*x+z);//z是进位数z=p[i]/10;p[i]%=10;}}int i=500;while(p[i]==0) i--;for(;i>=0;i--){cout<<p[i];}cout<<endl;}
}

总结

  今天的题目我想到了核心的解题思维,但是由于排列组合的思维不知道怎么体现在编码中,还有对高精度知识点掌握的不牢固,导致今天的题目是借鉴了大佬的代码然后自己理解后写出来的,有些惭愧但是也挺开心的,因为又学会了一种解题技巧。

相关文章:

  • 从交互说明文档,到页面流程图设计全过程
  • NGINX `ngx_http_charset_module` 字符集声明与编码转换
  • K8S 基于本地存储的持久卷
  • QUIC协议优化:HTTP_3环境下的超高速异步抓取方案
  • DIFY教程第五弹:科研论文翻译与SEO翻译应用
  • 解决二分类问题常用的模型以及优缺点和使用场景(二)
  • Linux 修改bond后网关不生效的问题
  • 指定Docker镜像源,使用阿里云加速异常解决
  • WordPress_depicter Sql注入漏洞复现(CVE-2025-2011)
  • Spring MVC中跨域问题处理
  • Spark的基本介绍
  • 电子电器架构 --- 网关释放buffer的必要性
  • 深入探索Linux命名管道(FIFO):原理、实践与高级技巧
  • 新手开发微信小程序遇到的坑
  • Facebook的元宇宙新次元:社交互动如何改变?
  • 知识图谱:AI大脑中的“超级地图”如何炼成?
  • Promise基础使用
  • 同步 / 异步、阻塞 / 非阻塞
  • Ubuntu手动安装Consul 的详细步骤
  • Linux常用命令33——sudo授权普通用户执行管理员命令
  • 国常会:研究深化国家级经济技术开发区改革创新有关举措等
  • 欧洲承诺投资6亿欧元吸引外国科学家
  • Meta正为AI眼镜开发人脸识别功能
  • 司法部:加快研究制定行政执法监督条例,建立完善涉企行政执法监督长效机制
  • 上海市政府常务会议部署提升入境旅游公共服务水平,让国际友人“无障碍”畅游上海
  • 城事|五一长假,哪里人最多?