題目大意:
有這麼乙個遊戲:
寫出乙個1~n的排列a[i],然後每次將相鄰兩個數相加,構成新的序列,再對新序列進行這樣的操作,顯然每次構成的序列都比上一次的序列長度少1,直到只剩下乙個數字位置。下面是乙個例子:
3 1 2 4
4 3 6
7 9
16
最後得到16這樣乙個數字。
現在想要倒著玩這樣乙個遊戲,如果知道n,知道最後得到的數字的大小sum,請你求出最初序列a[i],為1~n的乙個排列。若答案有多種可能,則輸出字典序最小的那乙個。
思路:
注:這道題不是那道簡單的dp數字金字塔!
雖然這道題還是很簡單。。。
我們觀察一下,就可以發現:
、 那麼這道題的方法就很明確了:
1.由於n<=13,所以可以暴力求楊輝三角。
2.dfs,搜尋。
**:
#include
#include
using
namespace
std;
int n,ok,m,a[101][101],o[101],t[101];
void dfs(int x,int k) //dfs搜尋
return;
}if (k>m) return; //剪枝
for (int i=1;i<=n;i++)
if (ok==1) return;
} }int main()
洛谷P1118 數字三角形
這道題是典型的深搜題,應用全排列遍歷的方法可以在無特判的條件下完成。其中的幾個知識點是需要複習的。楊輝三角 楊輝三角定義在此不表,其為乙個形似下表的數表 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 以下略 a b c d e a b b c c d d e a 2b c b 2c d...
洛谷P1118 數字三角形遊戲
洛谷1118 數字三角形遊戲 題目描述 有這麼乙個遊戲 寫出乙個1 n的排列a i 然後每次將相鄰兩個數相加,構成新的序列,再對新序列進行這樣的操作,顯然每次構成的序列都比上一次的序列長度少1,直到只剩下乙個數字位置。下面是乙個例子 3 1 2 4 4 3 6 7 9 16最後得到16這樣乙個數字。...
SSL ZYC 洛谷 P1433 吃乳酪
題目大意 房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在 0,0 點處。思路 明顯的dfs!這道題的思路是十分清晰的 1.讀入,順便用勾股定理求兩點之間的距離。2.dfs,從 0,0 開始,搜尋每乙個點,將最短答案記錄在minn裡。easy include inclu...