計蒜客 T1771 文具店 DFS

2021-10-19 05:25:42 字數 707 閱讀 9196

第一行包含乙個字串 s,代表蒜頭君抄下來的數字串。

第二行包含乙個整數 k,代表蒜頭君買了 k支水彩筆。

資料範圍:1≤k≤|s|≤8,s 僅包含數字 0∼9。

輸出乙個整數,表示蒜頭君買這些筆最少花的錢。

樣例輸入:

72553

3樣例輸出:

85

其實就是乙個dfs列舉,把字串分成k段,求和最小

下邊**有詳細注釋

#include

#include

using

namespace std;

#define maxn 0x3f3f3f3f

string str;

int k;

int sum=maxn;

void

dfs(

int len,

int n,

int k,

int now)

//當前第n位,k水彩筆個數,now為總價錢

if(nowsum=now;}if

(k>1)

dfs(len,i+

1,k-

1,now+plus);}

}}intmain()

計蒜客t36352 魔法

肯定我要佔滿所有的葉子結點,否則以乙個葉子節點建樹的時候你選的所有點就都在一棵子樹裡,也就不符合要求。反過來,選擇了所有葉子節點,可以證明它是可行的,所以葉子節點構成的集合滿足要求而且最小。如果k 0 k 0k 0直接求出度為1 11的點的數目就好了 如果k 1 k 1k 1,列舉刪哪條邊,我用 x...

紅與黑 計蒜客 T1211

題目鏈結 典型的深搜題,基礎題。蒜廠有一間長方形的房子,地上鋪了紅色 黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。輸入格式第一行是兩個整數 w和 h,分別表示 x 方向和 y 方向瓷磚的數量。w 和 h 都不超過 ...

計蒜客T1195 和數

蒜頭君給定乙個正整數序列,判斷其中有多少個數,等於數列中其他兩個數的和。比如,對於數列1 2 3 4,這個問題的答案就是 2,因為 3 2 1,4 1 3。輸入格式 共兩行,第一行是數列中數的個數 n 1 n 100 第二行是由 n 個不大於 10000 的正整數組成的數列,相鄰兩個整數之間用單個空...