floyd暴力80分求调
查看原帖
floyd暴力80分求调
1176773
cuiwl123楼主2024/4/6 11:55
#include<bits/stdc++.h>
using namespace std;
char a[35];
int b[11][11],n,x,y,lena;
long long sum=1;
int main()
{
	int ans[11];
	cin>>a>>n;
	lena=strlen(a);
	for(int i=0;i<11;i++)
		ans[i]=1;
	for(int i=1;i<=n;i++)
	{
		cin>>x>>y;
		b[x][y]=1;
	}
	for(int k=0;k<=9;k++)
		for(int i=0;i<=9;i++)
			if(k!=i)
				for(int j=0;j<=9;j++)
					if((i!=j)&&(j!=k)&&(b[i][k]==1&&b[k][j]==1))
						b[i][j]=1;
	for(int i=0;i<=9;i++)
		for(int j=0;j<=9;j++)
			if(b[i][j]==1)
				ans[i]++;
	for(int i=0;i<lena;i++)
		sum*=ans[int(a[i]-'0')];
	cout<<sum<<endl;
	return 0;
}
2024/4/6 11:55
加载中...