CodeForces - 1260C(+貪欲な思考)

問題の意味

https://vjudge.net/problem/CodeForces-1260C

レンガの列、BのR倍の通常複数がBではなく、Rの複数の全倍数青色塗装する必要があり、赤塗らないしなければならない、コーティングの公倍数から選択されます。塗装レンガの後に選出され、同じ色の連続K-レンガがなければならないかどうかを尋ねました。

思考

RとBが共通の因子を有する場合(すなわち、GCD!= 1)、それだけで見つかったいくつかの数、及びその最も単純な形でない差をスキップすることができます。それ以外の場合は、B> Rを想定より早く成長Bなぜなら、その後、その後、シーケンスは、類似しxrbrbrrbでなければなりません。間違いなく、その後R == B、(ポスト質問火)の可解性のであれば、の削減、削減をしましょうRの連続的な期間のために、我々はそれらを分離するために2件のBを使用し、2とBとの間の位置の数は、B-1、(K-1)の長さによって占有されるk個のR * R + 1であり、2決定されますそうでなければ可能で、両者のBがどのようにして位置しない場合、又は、K rを充填するために使用することができません。

コード

#include <ビット/ STDC ++ H> 
名前空間STDを使用して、
#define INF 0x3f3f3f3f 
の#define LL長い長
のconst int型N = 200005。
const int型MOD = 1E9 + 7。
constのダブルEPS = 1E-8; 
constのダブルPI = ACOS(-1.0); 
#define lowbit(X)(X&( - X))
LL GCD(-1,11,11- B)
{ 
    戻りB == 0:GCD(B、%b)は、?
} 
メインINT()
{ 
    のstd :: IOS :: sync_with_stdio(偽)。
    int型T; 
    cinを>>トン。
    (t--)一方
    { 
        LL R、B、K。
        CIN >> R >> B >> K。
        (R> B)場合
            スワップ(R、B)。
        LL G = GCD(R、B)。
        R / = G、B / G =。
        (R == b)の場合
        {
            裁判所未満<< "OBEY" <<てendl; 
        } 
        そうであれば、(B-1 <(K-1)* R + 1)
            COUT << "OBEY" << ENDL。
        他の
            裁判所未満<< "REBEL" <<てendl; 
    } 
    0を返します。
}

  

おすすめ

転載: www.cnblogs.com/mcq1999/p/11954813.html