ファイル名を指定して実行するD.時間

https://codeforces.com/contest/1301/problem/D

問題の意味:指定されたN×M個(1 <= N、M <= 500)格子、要件がk(1E9)ステップは、Qを達成することができ、ステップは、出力(<3000)ルールとすることができる行く。同じ方向とグリッドあなただけの、さらに一歩を行くことができます。

解決法:図に示すオイラー、4 * N * M-2 * N-2 * m個のステップに上がるために。

可能なステップのように少しのために、各ステップは、直線を歩いて、例えば、できるだけ歩くようにしなければなりません。

#include <ビット/ STDC ++。H>
長い長いLLのtypedef。
#define int型LL
#defineモッズ十億七
#define GCD __gcd
#define REPは(I、J、N)のための(INT iはjは=; I <= N; I ++)
#defineは、赤色(I、N、j)のための(INT I = N; I> = J; i--)
#define ME(x、y)はmemsetの(X、Y、はsizeof(x))を
// LL LCM(-1,11,11- B){* B / GCD(A、B)を返します;}
一方、(B){IF(B&1)ANS = ANS *%のMOD; //は(-1,11,11- B){LL ANS = 1をquickpowちゃうB >> = 1、A = A *%のMOD;}リターンANS;}
// INT euler1(INT X){int型ANS = X;のために(INT iが= 2、iは<= X *; I ++)IF(X%I == 0){ans- = ANS / I、一方(X %I == 0)は、x / = I;}もし(X> 1)ans- = ANS / X;戻りANS;}
// CONST INT N = 1E7 + 9。INT VIS [n]は、素数[n]は、PHI [N]; int型euler2(INT N){ME(VIS、TRUE); INT LEN = 1;担当者(I、2、N){IF(VIS [I] ){プライム[LEN ++] = I、PHI [i]は= I-1;}の(INT J = 1; J <LEN &&プライム[J] * I <= nであり、j ++){VIS [i *が素数[J] = 0;(I%プライム[j] == 0){;ブレーク; PHI [I *プライム[J] = PHI [I] *プライム[J]}もしそうでなければ{PHI [iが素数[Jを*]] = PHI [I] * PHI [プライム[J]];}}}戻りLEN}
#define INF 0x3f3f3f3f
#define PIのACOS(-1)
#define PIIペア<int型、int型>
#define Fiの最初の
#define SE秒
#define LSONリットル、ミッド、根<< 1
#define rson半ば+ 1、R、根<< 1 | 1
#define PB一back
#define融点make_pair
#define CIN(X)のscanf( "%のLLD"、&x)は、
名前空間stdを使用。
const int型MAXN = 1E3 + 9。
ベクター<ペア<チャー、整数>> MA。
ベクター<ペア<チャー、整数>> V。
ボイドインサート(チャーC、INT M){
    IF(m> 0)でma.pb(MP(C、M))。
}

ボイドは、{()解決します
    整数N、M、K。
    CIN >> N >> M >> K。
    IF(4 * N * M-2 * N-2 * M <K){
        裁判所未満<< "NO" <<てendl;
        リターン;
    }
    裁判所未満<< "YES" <<てendl;
    インサート(R ''、M-1)。
    担当者(I、1、M-1){
        インサート( 'D'、N-1)。
        ( 'U'、N-1)を挿入します。
        ( 'L'、1)を挿入します。
    }
    インサート( 'D'、N-1)。
    担当者(I、1、N-1){
        インサート(R ''、M-1)。
        インサート( 'L'、M-1)。
        ( 'U'、1)を挿入します。
    }
    INT年= 0;
    {(MA自動IT)のために
        もし(K <= 0){
            ブレーク;
        }そうしないと{
            ++歳;
            v.pb(MP(it.fi、K> it.se it.se:?K));
            K  -  = it.se。
        }
    }
    coutの<< ANS <<てendl;
    {(V自動IT)のために
        coutの<< it.se << "" << it.fi <<てendl;
    }
}

主符号付き()
{
    イオス:: sync_with_stdio(偽);
    cin.tie(0)。cout.tie(0)。
    // int型トン。
    //(t)を食べます。
    //一方、(T  - ){
        解決する();
    //}
}

 

4 ましょう私を-

おすすめ

転載: www.cnblogs.com/nonames/p/12422944.html