給你n個香蕉,m個蘋果。你有兩種操作
1.任選乙個水果將它們翻倍。
2.同時吃掉乙個香蕉和乙個蘋果。
你必須同時使n和m變成0.
問如何操作才能使總操作次數最少。
bfs當然可以解決, 但是超時。
根據題意 我們要盡量構造 n == m的情況 ,如果一開始不相等,只有通過n * 2 來實現 n == m
那麼可以想到,當2 * n > m的時候,我們就得執行–操作了。因為此時只有–操作才能促成n == m
的形式。
根據思路模擬即可。
#include
using
namespace std;
long
long a[
1000005
], v[
1000005];
intmain()
cnt++
; n--
; m--;}
cout << cnt << endl;
}return0;
}
牛客練習賽61 B 吃水果
最近公尺咔買了n個蘋果和m個香蕉,他每天可以選擇吃掉乙個蘋果和乙個香蕉 必須都吃乙個,即如果其中一種水果的數量為0,則他不能進行這個操作 或者使用魔法將某一種水果的數量翻倍。現在公尺咔想吃西瓜了,但是他的主人賽小息不讓他買新水果,除非蘋果和香蕉沒有了,即數量都是0了。現在公尺咔想知道,最少用多少天他...
牛客練習賽61 B 吃水果 貪心
思路 我們假設n mn m n m,很明顯答案受限於較大的那個數,根據貪心原則,此時讓m mm一直翻倍肯定比以後翻倍要賺。所以直接對m mm進行翻倍操作,只要滿足 m n 2 m nm n 2 m n m n 2 m n。如果此時m n m nm n,可直接得到答案,否則我們假設x xx天後有 2 ...
牛客練習賽61 b題 吃水果
題目鏈結 題目描述 最近公尺咔買了n個蘋果和m個香蕉,他每天可以選擇吃掉乙個蘋果和乙個香蕉 必須都吃乙個,即如果其中一種水果的數量為0,則他不能進行這個操作 或者使用魔法將某一種水果的數量翻倍。現在公尺咔想吃西瓜了,但是他的主人賽小息不讓他買新水果,除非蘋果和香蕉沒有了,即數量都是0了。現在公尺咔想...