hnust 可口可樂大促銷
阿新 • • 發佈:2018-12-04
問題 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>=3View Code) 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; }