果物の20200311 jzoj Cグループの饗宴(フルーツ)

大幅に大幅に大きなこんにちは皆、私はまだあなたのハンサム押し霞います。バウンスどこおかしいのか分からない
今日のトピックで共有し続けます

件名の説明:
ベッシーは再びファーマージョンの家に押し入りました!彼女は台所で(各杭の無限の数があります)レモンとオレンジの束の束を見つけ、彼女はできるだけ食べることを望んでいます。
ベッシーは満腹Tの上限は(1 <= T <= 5,000,000)。オレンジを食べると、彼女はBを指すよう満腹値(1 <= A、B <増加しますレモンを食べて、彼女に満腹値のポイントを増やすことができます = T)、 彼女は喜んであれば、ベッシーは一度ほとんどで水を飲むことができるが、それはすぐになります彼女の満腹値が半分になる作る、あなたが利用できる彼女の最大値の膨満感を見つけるベッシーヘルプ。

入力:

三つの整数T、AとBの行

出力:

達成可能な最大ベッシーの満腹値を表す線アン整数

サンプル入力:
856

サンプル出力:
8

はい、あなたはターンターンターンで水の問題でその権利を読んで


アイデア:答えはすでに存在していたされており、もはやを列挙する必要がない場合はノンストップ、マークのメモリアレイと、満腹値の列挙様々なアイテムを検索します。

uses math;
var
  bz:array[1..6000000]of boolean;
  i,j,k,n,m,a,b,ans,t:longint;
procedure dg(l,r:longint);
begin
    if ((l>t)or(bz[l])) then exit;
    bz[l]:=true;
    ans:=max(ans,l);
    dg(l+a,r);
    dg(l+b,r);
    if r=0 then dg(l div 2,1);
  end;
begin
assign(input,'fruit.in');reset(input);
assign(output,'fruit.out');rewrite(output);
  read(t,a,b);
  dg(a,0);
  dg(b,0);
  write(ans);
end.


リリース5元の記事 ウォンの賞賛3 ビュー508

おすすめ

転載: blog.csdn.net/weixin_40082776/article/details/104885610