資源限制
時間限制:1.0s 記憶體限制:256.0mb
問題描述
給定乙個1~n的排列a[i],每次將相鄰兩個數相加,得到新序列,再對新序列重複這樣的操作,顯然每次得到的序列都比上一次的序列長度少1,最終只剩乙個數字。
例如:3 1 2 4
4 3 6
7 916
現在如果知道n和最後得到的數字sum,請求出最初序列a[i],為1~n的乙個排列。若有多種答案,則輸出字典序最小的那乙個。資料保證有解。
輸入格式
第1行為兩個正整數n,sum
輸出格式
乙個1~n的乙個排列
樣例輸入
4 16
樣例輸出
3 1 2 4
資料規模和約定
0這是我第一次見algorithm中的全排列函式:next_permutation(a,a+n) 才疏學淺·
這個題目中n較小,用暴力法 ,用next_permutation(a,a+n)函式列出所有的1~n全排列,對於每乙個全排列,按照問題描述中給的過程來進行模擬計算,最後判斷是否等於sum
#include#include#includeusing namespace std;
int main()
m--;
} if(b[0]==sum)
cout
} }while(next_permutation(a.begin(),a.end()));
return 0;
}
試題 演算法訓練 數字遊戲
題目鏈結 問題描述 給定乙個1 n的排列a i 每次將相鄰兩個數相加,得到新序列,再對新序列重複這樣的操作,顯然每次得到的序列都比上一次的序列長度少1,最終只剩乙個數字。例如 3 1 2 4 4 3 6 7 916 現在如果知道n和最後得到的數字sum,請求出最初序列a i 為1 n的乙個排列。若有...
試題 演算法訓練 數字遊戲
問題描述 給定乙個1 n的排列a i 每次將相鄰兩個數相加,得到新序列,再對新序列重複這樣的操作,顯然每次得到的序列都比上一次的序列長度少1,最終只剩乙個數字。例如 3 1 2 4 4 3 6 7 9 16 現在如果知道n和最後得到的數字sum,請求出最初序列a i 為1 n的乙個排列。若有多種答案...
演算法訓練 傳球遊戲
演算法訓練 傳球遊戲 時間限制 1.0s 記憶體限制 256.0mb 提交此題 錦囊1 錦囊2 問題描述 上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。遊戲規則是這樣的 n個同學站成乙個圓圈,其中的乙個同學手裡拿著乙個球,當老師吹哨子時開始傳球,每個同學可以...