yipo
8/2/2017 - 1:24 AM

random.cpp

#include <algorithm>
#include <iostream>
#include <random>
#include <string>
#include <vector>
using namespace std;

template <typename T>
void shuffle_dump(vector<T> &container)
{
    random_device rd;
    mt19937 g(rd());
    shuffle(container.begin(), container.end(), g);

    cout << ":";
    for (const auto &x : container) cout << " " << x;
    cout << endl;
}

template <typename T>
vector<T> range(const T &min, const T &max, const T &step = 1)
{
    vector<T> result;
    for (auto i = min; i <= max; i += step) result.push_back(i);
    return result;
}

void test_case()
{
    cin.get();

    shuffle_dump(vector<string>
    {
        "Amy",
        "Ben",
        "CG",
        "Jason",
        "l80",
        "Mike",
        "Stanley",
        "YiPo",
    });
    shuffle_dump(range(1, 27));
}

int main()
{
    while (true) test_case();
    return 0;
}