代码:
#include<iostream>
using namespace std;
int q[100005],vis[10005],x[10],y[20];
int main() {
int n,k,head=1,tail=1;
cin>>n>>k;
for(int i=1; i<=n; i++)
cin>>x[i]>>y[i];
q[1]=n;
vis[n]=1;
while(head<=tail) {
int t=q[head],t0=q[head],m=1;
head++;
while(t>0) {
int d=t%10;
for(int i=1; i<=k; i++) {
if(d==x[i]) {
int sum=t0-d*m+y[i]*m;
if(!vis[sum]) {
tail++;
q[tail]=sum;
vis[sum]=1;
}
}
}
m*=10;
t/=10;
}
}
cout<<tail;
return 0;
}
大佬求调orz