1. 程式人生 > >hnust 可口可樂大促銷

hnust 可口可樂大促銷

問題 B: 可口可樂大促銷

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 653  解決: 323
[ 提交][ 狀態][ 討論版]

題目描述

 最近可口可樂在搞大促銷活動,1瓶可樂只要1元錢。而且,更激動人心的是,3個空瓶子可以換1瓶可樂,5個空瓶子可以換2瓶可樂。ZB聽到這個訊息頓時驚呆了,於是他決定把他所有的錢用來買可樂,現在他手上有n元錢,問他最多可以喝多少瓶可樂?(為了表示學長沒有坑你們,友情提示:請不要暴力。。。。。)

輸入

 輸入有多組(不超過100)。每組輸入一個n(n>=0&&n<1000000000)表示ZB有多少錢。

  輸入-1表示結束。

輸出

     對於每個n輸出一個值,表示ZB最多能喝多少瓶可樂。每個輸出佔一行。

樣例輸入

5
6
7
2201
-1

樣例輸出

7
9
10
3667


簡單DFS

#include <stdio.h>
long long ans,i,j;
long long dfs(int n)
{
    if(n<3) return ans;
    else if(n>=5) i=n/5,ans+=2*i,dfs(n-i*3);
    else if(n>=3
) j=n/3,ans+=j,dfs(n-2*j); } int main() { int n; while(~scanf("%d",&n)&&n!=-1) { ans=n; printf("%lld\n",dfs(n)); } return 0; }
View Code