解题思路: 开始没有考虑到会爆long long int = =

注意事项:

参考代码:

#include<iostream>using namespace std;int f[10][10];int k,ans[500]={1},l=1;void wk(int x){
   for (int i=0;i<l;i++)
   ans[i]*=x;
   for (int i=0;i<l;i++)
   if (ans[i]>=10)
   {
       ans[i+1]+=ans[i]/10;
       ans[i]%=10;
   }
   while (ans[l]>0)
   {
       ans[l+1]=ans[l]/10;
       ans[l]=ans[l]%10;
       l++;
   }}int main(){
   string s;
   cin>>s>>k;
   int x,y,len;
   int t[10];
   for (int i=1;i<=k;i++)
   {
       cin>>x>>y;
       f[x][y]=1;
   }
   for (int i=0;i<=9;i++)
   f[i][i]=1;
   for (int k=1;k<=9;k++)
   for (int i=0;i<=9;i++)
   for (int j=1;j<=9;j++)
   if (f[i][k]==1&&f[k][j]==1) f[i][j]=1;
   for (int i=0;i<=9;i++)
   {
       int tj=0;
       for (int j=0;j<=9;j++)
       if (f[i][j]==1) tj++;
       t[i]=tj;
   }
   for (int i=0;i<s.length();i++)
   wk(t[s[i]-'0']);
   for (int i=l-1;i>=0;i--)
   cout<<ans[i];
   return 0;}

点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论