1. 程式人生 > 其它 >牛客 牛牛愛喝酒(模擬)

牛客 牛牛愛喝酒(模擬)

技術標籤:LintCode及其他OJ

文章目錄

1. 題目

連結:https://ac.nowcoder.com/acm/contest/9752/A
來源:牛客網

牛牛是一個酒鬼,非常愛喝酒,
一瓶酒m元錢,
兩個酒瓶可以換一瓶酒,
四個瓶蓋可以換一瓶酒,
現在有 n 元錢,求最多可以喝多少瓶酒?
(注:沒有借貸功能,即最終不允許借一瓶酒、喝完後拿酒瓶兌換歸還的操作)

示例1
輸入
2,12
返回值
19
說明
牛牛總計可以喝19瓶酒

備註:
0 < m < 100
0 < n < 2000

2. 解題

class Solution {
public
: /** * 程式碼中的類名、方法名、引數名已經指定,請勿修改,直接返回方法規定的值即可 * 返回牛牛能喝的最多的酒 * @param m int整型 酒單價 * @param n int整型 牛牛的現金 * @return int整型 */ int countWine(int m, int n) { // write code here if(n < m) return 0; int ans = 0, gai = 0, bottle = 0; while(n/m+
gai/4+bottle/2 > 0) { int newWine1 = n/m; n -= newWine1*m; ans += newWine1; gai += newWine1; bottle += newWine1; int newWine2 = gai/4; gai += -newWine2*4+newWine2; bottle += newWine2; ans +
= newWine2; int newWine3 = bottle/2; gai += newWine3; bottle += -newWine3*2+newWine3; ans += newWine3; } return ans; } };

我的CSDN部落格地址 https://michael.blog.csdn.net/

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
Michael阿明