解题思路: 开始没有考虑到会爆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;}
0.0分
0 人评分
Biggest Number (C++代码)回溯法浏览:1678 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:566 |
求圆的面积 (C语言代码)浏览:1366 |
简单的a+b (C语言代码)浏览:752 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:645 |
输入输出格式练习 (C语言代码)浏览:773 |
【计算直线的交点数】 (C语言代码)浏览:986 |