給定初始數字串 (長度 ≤ 32) 與 k 條轉換規則 (k ≤ 15)。規則:一位數字可轉換為另一位非零數字。從初始串每個位置出發,應用規則進行 BFS 擴展,統計每個起始位置能到達的不同數字總數,最終答案為各位置可達數量的乘積。
Visited[10] 標記已訪問數字。temp,累乘到答案 ans。for (j = 0; j < len; j++) {
temp = 1;
memset(Visited, 0, sizeof(Visited));
q[++tail] = num[j] - '0';
do {
head++;
for (i = 1; i <= K; i++) {
if (q[head] == x[i] && Visited[y[i]] == 0) {
q[++tail] = y[i];
temp++;
Visited[x[i]] = Visited[y[i]] = 1;
}
}
} while (head < tail);
ans *= temp;
}
long long (64 位)。