題目
description
小q是班長。在校運動會上,小q班要進行佇列表演。小q要選出2*n名同學編隊,每人都被編上乙個號,每乙個從1到n的自然數都被某2名同學佩戴,現在要求將他們排成一列,使兩個編號為1的同學中間恰好夾1名同學,兩個編號為2的同學中間恰好夾2名同學,……,兩個編號為n的同學中間恰好夾n名同學,小q希望知道這樣的排法能否實現。
input
輸入檔案僅包括一行,即要處理的n。n<=13
output
輸出有多少種排列順序.
sample input
3sample output
22(a1+a2+an)+n(n+1)/2+n=2n(2n+1)/2
2(a1+a2+…+an)=(3n2-n)/2
4(a1+a2+…+an)=n(3n-1)
可見n(3n-1)應該為4的倍數(上一排的等式推出),當n mod 4=0,1,2,3時,n(3n-1) mod 4分別為0,2,2,0,故n mod 4=1或2時,不滿足設的「有解」的前提,問題無解
**如下
1 #include2using
namespace
std;
3int
n,cnt;
4bool flag[66];5
void ord(int per,int
pla)611
void dfs(int
dep)
1218
for(int i=1;i<=2*n-dep-1;i++)
1926}27
}28intmain()
2936 dfs(1
);37 cout38return0;
39 }
NOI2 2 1750 全排列 題解 C
又來 這一題也不難,跟之前的數字全排列有點像,只不過這次是用字母了而已。來人,上題 總時間限制 1000ms 記憶體限制 65536kb 描述給定乙個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。我們假設對於小寫字母有 a b y z 而且給定的字串中的字母已經按照從小到大的順序排列。輸入輸...
全排列問題 題解
題目描述 從n個不同元素中任取m m n 個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的乙個排列。當m n時所有的排列情況叫全排列。輸入輸入乙個正整數n n 10 輸出以字典序給出這n個整數能形成的所有排列,每一行乙個排列 示例輸入 3示例輸出 123132 213231 312...
C 時間間隔計算
c 時間比較 c 時間間隔計算 c 事件比較直接可以用減法,即timespan ts1 datetime.now datetime.now.adddays 1 它返回的是乙個時間間隔。它有如下屬性 days 獲取當前 timespan 結構所表示的時間間隔的天數部分。hours 獲取當前 times...