牛客練習賽61 吃水果 思維

2021-10-04 22:28:37 字數 570 閱讀 1064

給你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了。現在公尺咔想...