SSL ZYC 洛谷 P1118 數字三角形

2022-09-03 07:12:13 字數 784 閱讀 3490

題目大意:

有這麼乙個遊戲:

寫出乙個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...