求条
查看原帖
求条
983555
fengzhaoyu楼主2024/5/9 19:51
#include<bits/stdc++.h>
using namespace std;
int ans=0,k,z[1000001],n;
int nn;
string c;
struct edge{
	int from,to;
}a[20];
void dfs(int s)
{
	if(s>n)
	{
		cout<<ans<<endl;
		exit(0); 
	}
	for(int i=1;i<=k;i++)
	{
		if(a[i].from==z[s])
		{
			z[s]=a[i].to;
			++ans;
		}
		dfs(s+1);
		z[s]=a[i].from;
	}
	
}
int main()
{
	cin>>nn;
	c=to_string(nn);
	n=c.size();
	c=" "+c;
	for(int i=1;i<=n;i++)
		z[i]=c[i]-'0';
	cin>>k;
	for(int i=1;i<=k;i++)
		cin>>a[i].from>>a[i].to;
	dfs(1);	
	return 0;
}
2024/5/9 19:51
加载中...