今有7對數字:兩個1,兩個2,兩個3,...兩個7,把它們排成一行。
要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,兩個7之間有7個其它數字。如下就是乙個符合要求的排列:
17126425374635
當然,如果把它倒過來,也是符合要求的。
請你找出另一種符合要求的排列法,並且這個排列法是以74開頭的。
回溯虐我很多遍啊。。。
我的遞迴和回溯真的不行啊,唉,還好除錯許久終於搞定了;
ans:
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8
using
namespace
std;
9int a[20
];10
int cou[20],b[20
];11
void dfs(int i,int t,int p)//
t 表示的是多少位;
1222
if(cou[i]==2 || a[t]!=0 || a[t+i+1]!=0|| i+t>13)23
29else
3040
}41 a[t]=0
;42 a[t+i+1]=0
;43 cou[i]=0;44
45}46}
47int
main()
48
今有7對數字 java
package a類有價值的回顧的 先全排列 在找出符合條件的 這種方法是不行的,因為全排列的個數太多,去分析這樣的數列的構造規律,縮小範圍 三個主體 1 7數字 直接用i的for迴圈得到 1 7數字是否被使用的標誌陣列a 數列14個位置選了啥的儲存陣列c 大體思路 將1 7數字放到c中去 具體細節...
藍橋杯 7對數字排列問題
問題描述 今有7對數字 兩個1,兩個2,兩個3,兩個7,把它們排成一行。要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,兩個7之間有7個其它數字。如下就是乙個符合要求的排列 問題是寫出以74開頭的滿足條件的序列。問題分析 根據問題的描述,我們很容易地知道,第7個位置是4,第9個位置是...
7對數字 藍橋杯2014
今有7對數字 兩個1,兩個2,兩個3,兩個7,把它們排成一行。要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,兩個7之間有7個其它數字。如下就是乙個符合要求的排列 當然,如果把它倒過來,也是符合要求的。請你找出另一種符合要求的排列法,並且這個排列法是以74開頭的。注意 只填寫這個14...