kyopro_library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub dyktr06/kyopro_library

:heavy_check_mark: Random (乱数生成)
(lib/others/random.hpp)

Random (乱数生成)

概要

乱数の生成の仕方が分からなくなるので作りました。

使い方

Required by

Verified with

Code

#pragma once

/**
 * @brief Random (乱数生成)
 * @docs docs/others/random.md
 */

struct RandomNumber{
    int64_t seed = chrono::duration_cast<chrono::milliseconds>(chrono::system_clock::now().time_since_epoch()).count();
    uniform_int_distribution<long long> p;
    mt19937_64 rnd;

    RandomNumber(long long l = 0, long long r = 0){
        rnd = mt19937_64(seed);
        p = uniform_int_distribution<long long>(l, r);
    }

    long long get(){
        return p(rnd);
    }
};
#line 2 "lib/others/random.hpp"

/**
 * @brief Random (乱数生成)
 * @docs docs/others/random.md
 */

struct RandomNumber{
    int64_t seed = chrono::duration_cast<chrono::milliseconds>(chrono::system_clock::now().time_since_epoch()).count();
    uniform_int_distribution<long long> p;
    mt19937_64 rnd;

    RandomNumber(long long l = 0, long long r = 0){
        rnd = mt19937_64(seed);
        p = uniform_int_distribution<long long>(l, r);
    }

    long long get(){
        return p(rnd);
    }
};
Back to top page