大佬20分求调
查看原帖
大佬20分求调
980247
wangyiqing_DOCX楼主2024/3/30 21:49

代码:

#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

2024/3/30 21:49
加载中...