給出乙個整數 n ( n<10^30) 和k個變換規則(k<=15)。
規則:(1)1位數可變換成另乙個一位數;
(2)規則的右部不能為0。
例如:n=234,有規則(k=2):
2 → 5
3 → 6
上面的整數234經過變換後可能產生出的整數為(包括原數):
234534
264564
共 4 種不同的產生數
求經過任意次的變換(0次或多次),能產生出多少個不同的整數。僅要求輸出不同整數個數。nk
x1 y1
x2 y2
… …xn yn
格式為乙個整數(滿足條件的整數個數)。
2342
2 53 6
要考慮到2->3,3->4則推出2->4,即2就有兩種替換方式的這種情況。
#include#includeusing namespace std;
long long sum=1;//用於記錄總的變化數
int flag[10][10]= ;//用於其兩個下標記錄可替換的兩個數
int main()
for(int i=0; i<10; i++)}}
int num;//用於記錄輸入的每一位數字的值
int cnt;//用於記錄某位數字可被替換的次數
for(int i=0; icout
}
藍橋杯 ADV 152 演算法提高 產生數
演算法提高 產生數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出乙個整數 n n 10 30 和 k 個變換規則 k 15 規則 一位數可變換成另乙個一位數 規則的右部不能為零。例如 n 234。有規則 k 2 2 5 3 6 上面的整數 234 經過變換後可能產生出的整數為 包括...
藍橋杯演算法提高 排列數
原題 演算法提高 排列數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 0 1 2三個數字的全排列有六種,按照字母序排列如下 012 021 102 120 201 210 輸入乙個數n 求0 9十個數的全排列中的第n個 第1個為0123456789 輸入格式 一行,包含乙個整數n 輸出...
藍橋杯 試題 演算法提高 成績排序
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出n個學生的成績,將這些學生按成績排序,排序規則,優先考慮數學成績,高的在前 數學相同,英語高的在前 數學英語都相同,語文高的在前 三門都相同,學號小的在前 輸入格式 第一行乙個正整數n,表示學生人數 接下來n行每行3個0 100...