codeforces beta round #84 (div. 1 only) 時間限制2000ms,記憶體限制256mb
問題大意:定義幸運數為十進位制表示只包含4、7兩個數碼的數。例如47、744、4都是幸運數,而5、17、467不是。
已知乙個幸運數的各位之和,求滿足條件的幸運數的最小值。輸入保證$1≤n≤10^6$。
這題用暴力方法就可以做。需要注意題目中的幾個資訊:
1)輸入可能達到$10^6$,因此原數必然超過$10^6÷9>10^5$,因此無論用32位還是64位整數是不可能表示的下的。答案必然用字串的形式來儲存和輸出。
2)各個數字和為$n$,而各個數字的取值集合為$a_i∈}$,只要轉化為求解$4x+7y=n$的不定方程即可。
3)上述方程的解$x,y$可能有很多組,問題要求輸出由$x$個4和$y$個7構成的十進位制數的最小數,必然滿足①數字位數最小,也就是$x+y$最小;②相同位數小數字4在高位,即先輸出4,而後輸出7。
明確了這幾點以後,用兩層迴圈窮舉可能的$x$,$y$的值就可以了。
1 #include2using
namespace
std;
3int
main()419
}20}21
end:
22if
(isok)
2329
else
30 printf("-1"
);31
return0;
32 }
矩陣中的幸運數
給你乙個 m n 的矩陣,矩陣中的數字 各不相同 請你按 任意 順序返回矩陣中的所有幸運數。幸運數是指矩陣中滿足同時下列兩個條件的元素 在同一行的所有元素中最小 在同一列的所有元素中最大 示例1輸入 matrix 3,7,8 9,11,13 15,16,17 輸出 15 解釋 15 是唯一的幸運數,...
數字DP C K的幸運數字
think 1知識點 數字dp 記憶化搜尋 2思考 1 dp陣列記錄狀態應記錄 數字 是否已經含有47 前一位數值 2 dp陣列初始化位置應在總的查詢前 所有的dfs搜尋之前 進而通過記憶化搜尋記錄狀態,優化時間複雜度 3 記憶化搜尋記錄之前已經搜尋得到的狀態 4 dfs初始傳入的狀態 c k的幸運...
計算幸運數字的個數
我們稱乙個長度為n的數x x d1d2.dn,d1 0 為幸運數,當且僅當,對於所有的 分析 只需計算x b 以及 對於數字b 假設b的位數是n,每一位數字存在資料data n 中,下標以1開始 示例 b 2999 則 n 4,data 1,2,9,9,9 則對於b需要求得分為4部分 1.所有一位數...