第一点AC第二点RE其余WA ??有大佬救一下吗?
查看原帖
第一点AC第二点RE其余WA ??有大佬救一下吗?
1058596
DeepNight_楼主2024/7/30 16:01
#include <bits/stdc++.h>
#define MAXM 16

typedef __int128 LL;
using namespace std;

const int N = 10000001;
int n, k;
int head, y[N];
bool exist[N];
LL que[N];
int a[MAXM], b[MAXM];
bool vis[N];

int dfs(int n){
	exist[n] = 1; que[1] = n; head = 1; 
	
	for (int tail = 0;tail <= head;)
		{
				int x = que[++ tail];
				int y = x, mod = 1;
			while (x > 0){
					
				int tmp = x % 10;x /= 10;
			
			for (int i = 0;i < k;i ++){
					
				if (a[i] == tmp){
					
					int p = y + (b[i] - tmp) * mod;
					
					if (exist[p] == 0){
						exist[p] = 1;
						que[++ head] = p;
					}
				}
			}
						mod *= 10;
			}
		}
		return head;
}


/*int find(int c){
	return c & (-c);
}*/

int main(){
	memset(y, 0, sizeof(y));
	scanf("%d%d",&n, &k);
	
	for (int i = 0;i < k;i ++) {
		scanf("%d%d",&a[i] ,&b[i]);
}
	printf("%d" ,dfs(n));
}
2024/7/30 16:01
加载中...