【题意】
一公司确定每月要不然盈利s元,要不然亏损d元,一年12个月不知道哪个月盈利哪个月亏损,但知道连续五个月营业额都为亏损,问是否能盈利
【输入】
多组数据
每组数据一行,包含两个数字s,d
【输出】
对于每组数据,若能盈利则输出最大盈利,否则输出'Deficit'
据说可以贪心,我搜索过的
program poj2586; var i,j,k,s,d,ans:longint; x:array [0..12] of longint; procedure dfs (now:longint); var i,k,sum:longint; begin if now>12 then begin k:=0; for i:=1 to 4 do k:=k+x[i]; sum:=k; for i:=5 to 12 do begin sum:=sum+x[i]; k:=k+x[i]-x[i-5]; if k>0 then break; end; if k>0 then exit; if sum>ans then ans:=sum; exit; end; x[now]:=s; dfs(now+1); x[now]:=-d; dfs(now+1); end; begin while not seekeof do begin read(s,d); x[0]:=0; ans:=-1; dfs(1); if ans>0 then writeln(ans) else writeln('Deficit'); end; end.