隨意組合(dfs的應用)

2021-10-09 17:57:16 字數 1225 閱讀 7104

參考部落格

小明被綁架到x星球的巫師w那裡。

其時,w正在玩弄兩組資料 (2 3 5 8) 和 (1 4 6 7)

他命令小明從一組資料中分別取數與另一組中的數配對,共配成4對(組中的每個數必被用到)。

小明的配法是:

巫師凝視片刻,突然說這個配法太棒了!

因為:每個配對中的數字組成兩位數,求平方和,無論正倒,居然相等:

87^2 + 56^2 + 34^2 + 21^2 = 12302

78^2 + 65^2 + 43^2 + 12^2 = 12302

小明想了想說:「這有什麼奇怪呢,我們地球人都知道,隨便配配也可以啊!」

86^2 + 54^2 + 31^2 + 27^2 = 12002

68^2 + 45^2 + 13^2 + 72^2 = 12002

巫師頓時凌亂了。。。。。

請你計算一下,包括上邊給出的兩種配法,巫師的兩組資料一共有多少種配對方案具有該特徵。

配對方案計數時,不考慮配對的出現次序。

就是說:

與是同一種方案。

注意:需要提交的是乙個整數,不要填寫任何多餘內容(比如,解釋說明文字等)

經驗技巧:

階層組合方案使用 dfs(判斷,遞迴,回溯)

答案:24

#include

#include

//可以使用陣列替代

using

namespace std;

int a[4]

=;//第一組資料

int b[4]

=;//第二組資料

// map容器的使用,《關鍵字,值》

map<

int,

int> mp;

int ans =

0,num1 =

0, num2 =0;

//答案,平方和

int index[4]

=;//標記

intdfs

(int sun)

//判斷是否滿足條件

if(num1 == num2) ans++;}

for(

int i =

0; i <

4; i++)}

}int

main

(int argc,

char

** ar**)

隨意組合 dfs

小明被綁架到x星球的巫師w那裡。其時,w正在玩弄兩組資料 2 3 5 8 和 1 4 6 7 他命令小明從一組資料中分別取數與另一組中的數配對,共配成4對 組中的每個數必被用到 小明的配法是 巫師凝視片刻,突然說這個配法太棒了!因為 每個配對中的數字組成兩位數,求平方和,無論正倒,居然相等 87 2...

藍橋杯 隨意組合

隨意組合 小明被綁架到x星球的巫師w那裡。其時,w正在玩弄兩組資料 2 3 5 8 和 1 4 6 7 他命令小明從一組資料中分別取數與另一組中的數配對,共配成4對 組中的每個數必被用到 小明的配法是 巫師凝視片刻,突然說這個配法太棒了!因為 每個配對中的數字組成兩位數,求平方和,無論正倒,居然相等...

藍橋杯 隨意組合

小明被綁架到x星球的巫師w那裡。其時,w正在玩弄兩組資料 2 3 5 8 和 1 4 6 7 他命令小明從一組資料中分別取數與另一組中的數配對,共配成4對 組中的每個數必被用到 小明的配法是 巫師凝視片刻,突然說這個配法太棒了!因為 每個配對中的數字組成兩位數,求平方和,無論正倒,居然相等 87 2...