From 58e4c77b1d5f8241af91c55e1a8efaba3115dc6b Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 25 Oct 2020 17:16:31 +0800 Subject: import(life): Add algorithm contest 2. --- works/life/algorithm-contest-2/generator/1/1.in | 1 + works/life/algorithm-contest-2/generator/1/2.in | 1 + works/life/algorithm-contest-2/generator/1/3.in | 1 + works/life/algorithm-contest-2/generator/1/4.in | 1 + works/life/algorithm-contest-2/generator/1/5.in | 1 + works/life/algorithm-contest-2/generator/2/1.in | 2 + works/life/algorithm-contest-2/generator/2/2.in | 2 + works/life/algorithm-contest-2/generator/2/3.cpp | 15 ++++++++ works/life/algorithm-contest-2/generator/2/4.cpp | 15 ++++++++ works/life/algorithm-contest-2/generator/2/5.cpp | 15 ++++++++ works/life/algorithm-contest-2/generator/3/1.in | 4 ++ works/life/algorithm-contest-2/generator/3/2.in | 5 +++ works/life/algorithm-contest-2/generator/3/3.in | 6 +++ works/life/algorithm-contest-2/generator/3/4.cpp | 18 +++++++++ works/life/algorithm-contest-2/generator/3/5.cpp | 18 +++++++++ works/life/algorithm-contest-2/generator/4/1.in | 3 ++ works/life/algorithm-contest-2/generator/4/2.in | 4 ++ works/life/algorithm-contest-2/generator/4/3.in | 4 ++ works/life/algorithm-contest-2/generator/4/4.cpp | 29 +++++++++++++++ works/life/algorithm-contest-2/generator/4/5.cpp | 29 +++++++++++++++ works/life/algorithm-contest-2/generator/4/6.cpp | 29 +++++++++++++++ works/life/algorithm-contest-2/generator/5/1.in | 2 + works/life/algorithm-contest-2/generator/5/2.in | 2 + works/life/algorithm-contest-2/generator/5/3.cpp | 47 ++++++++++++++++++++++++ 24 files changed, 254 insertions(+) create mode 100644 works/life/algorithm-contest-2/generator/1/1.in create mode 100644 works/life/algorithm-contest-2/generator/1/2.in create mode 100644 works/life/algorithm-contest-2/generator/1/3.in create mode 100644 works/life/algorithm-contest-2/generator/1/4.in create mode 100644 works/life/algorithm-contest-2/generator/1/5.in create mode 100644 works/life/algorithm-contest-2/generator/2/1.in create mode 100644 works/life/algorithm-contest-2/generator/2/2.in create mode 100644 works/life/algorithm-contest-2/generator/2/3.cpp create mode 100644 works/life/algorithm-contest-2/generator/2/4.cpp create mode 100644 works/life/algorithm-contest-2/generator/2/5.cpp create mode 100644 works/life/algorithm-contest-2/generator/3/1.in create mode 100644 works/life/algorithm-contest-2/generator/3/2.in create mode 100644 works/life/algorithm-contest-2/generator/3/3.in create mode 100644 works/life/algorithm-contest-2/generator/3/4.cpp create mode 100644 works/life/algorithm-contest-2/generator/3/5.cpp create mode 100644 works/life/algorithm-contest-2/generator/4/1.in create mode 100644 works/life/algorithm-contest-2/generator/4/2.in create mode 100644 works/life/algorithm-contest-2/generator/4/3.in create mode 100644 works/life/algorithm-contest-2/generator/4/4.cpp create mode 100644 works/life/algorithm-contest-2/generator/4/5.cpp create mode 100644 works/life/algorithm-contest-2/generator/4/6.cpp create mode 100644 works/life/algorithm-contest-2/generator/5/1.in create mode 100644 works/life/algorithm-contest-2/generator/5/2.in create mode 100644 works/life/algorithm-contest-2/generator/5/3.cpp (limited to 'works/life/algorithm-contest-2/generator') diff --git a/works/life/algorithm-contest-2/generator/1/1.in b/works/life/algorithm-contest-2/generator/1/1.in new file mode 100644 index 0000000..38f8fd6 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/1/1.in @@ -0,0 +1 @@ +8 3 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/1/2.in b/works/life/algorithm-contest-2/generator/1/2.in new file mode 100644 index 0000000..f4eea7b --- /dev/null +++ b/works/life/algorithm-contest-2/generator/1/2.in @@ -0,0 +1 @@ +4 4 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/1/3.in b/works/life/algorithm-contest-2/generator/1/3.in new file mode 100644 index 0000000..11ab954 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/1/3.in @@ -0,0 +1 @@ +4 6 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/1/4.in b/works/life/algorithm-contest-2/generator/1/4.in new file mode 100644 index 0000000..11c3433 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/1/4.in @@ -0,0 +1 @@ +8 2 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/1/5.in b/works/life/algorithm-contest-2/generator/1/5.in new file mode 100644 index 0000000..fda96a5 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/1/5.in @@ -0,0 +1 @@ +88888 5 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/2/1.in b/works/life/algorithm-contest-2/generator/2/1.in new file mode 100644 index 0000000..37ba146 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/2/1.in @@ -0,0 +1,2 @@ +4 +6 2 9 1 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/2/2.in b/works/life/algorithm-contest-2/generator/2/2.in new file mode 100644 index 0000000..01faa33 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/2/2.in @@ -0,0 +1,2 @@ +3 +13 22 11 diff --git a/works/life/algorithm-contest-2/generator/2/3.cpp b/works/life/algorithm-contest-2/generator/2/3.cpp new file mode 100644 index 0000000..0eeadd1 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/2/3.cpp @@ -0,0 +1,15 @@ +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 5000); + const int SIZE = 5000; + cout << SIZE << '\n'; + for (int i = 0; i < SIZE; i++) { + cout << distribution(engine) << ' '; + } + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/2/4.cpp b/works/life/algorithm-contest-2/generator/2/4.cpp new file mode 100644 index 0000000..08d5c14 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/2/4.cpp @@ -0,0 +1,15 @@ +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 9999); + const int SIZE = 9999; + cout << SIZE << '\n'; + for (int i = 0; i < SIZE; i++) { + cout << distribution(engine) << ' '; + } + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/2/5.cpp b/works/life/algorithm-contest-2/generator/2/5.cpp new file mode 100644 index 0000000..bae2a90 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/2/5.cpp @@ -0,0 +1,15 @@ +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 9999); + const int SIZE = 9998; + cout << SIZE << '\n'; + for (int i = 0; i < SIZE; i++) { + cout << distribution(engine) << ' '; + } + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/3/1.in b/works/life/algorithm-contest-2/generator/3/1.in new file mode 100644 index 0000000..170d639 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/3/1.in @@ -0,0 +1,4 @@ +3 +#.. +... +#.# \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/3/2.in b/works/life/algorithm-contest-2/generator/3/2.in new file mode 100644 index 0000000..7cefeb0 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/3/2.in @@ -0,0 +1,5 @@ +4 +#... +.... +#.#. +.... \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/3/3.in b/works/life/algorithm-contest-2/generator/3/3.in new file mode 100644 index 0000000..51fff91 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/3/3.in @@ -0,0 +1,6 @@ +5 +#.... +..... +..... +..... +..... \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/3/4.cpp b/works/life/algorithm-contest-2/generator/3/4.cpp new file mode 100644 index 0000000..ed2fbb6 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/3/4.cpp @@ -0,0 +1,18 @@ +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 100); + const int SIZE = 100; + cout << SIZE << '\n'; + for (int i = 0; i < SIZE; i++) { + for (int j = 0; j < SIZE; j++) { + cout << (distribution(engine) > 90 ? '#' : '.'); + } + cout << '\n'; + } + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/3/5.cpp b/works/life/algorithm-contest-2/generator/3/5.cpp new file mode 100644 index 0000000..bf1d14c --- /dev/null +++ b/works/life/algorithm-contest-2/generator/3/5.cpp @@ -0,0 +1,18 @@ +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 100); + const int SIZE = 100; + cout << SIZE << '\n'; + for (int i = 0; i < SIZE; i++) { + for (int j = 0; j < SIZE; j++) { + cout << (distribution(engine) < 75 ? '#' : '.'); + } + cout << '\n'; + } + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/4/1.in b/works/life/algorithm-contest-2/generator/4/1.in new file mode 100644 index 0000000..feef14b --- /dev/null +++ b/works/life/algorithm-contest-2/generator/4/1.in @@ -0,0 +1,3 @@ +2 10 +6 5 +5 6 diff --git a/works/life/algorithm-contest-2/generator/4/2.in b/works/life/algorithm-contest-2/generator/4/2.in new file mode 100644 index 0000000..d72e475 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/4/2.in @@ -0,0 +1,4 @@ +3 20 +1 2 +2 1 +3 4 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/4/3.in b/works/life/algorithm-contest-2/generator/4/3.in new file mode 100644 index 0000000..60d56de --- /dev/null +++ b/works/life/algorithm-contest-2/generator/4/3.in @@ -0,0 +1,4 @@ +3 1 +4 5 +8 6 +7 7 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/4/4.cpp b/works/life/algorithm-contest-2/generator/4/4.cpp new file mode 100644 index 0000000..fc0de0b --- /dev/null +++ b/works/life/algorithm-contest-2/generator/4/4.cpp @@ -0,0 +1,29 @@ +#include +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 1000); + const int SIZE = 100; + std::vector b; + + for (int i = 0; i < SIZE * 2; i++) { + b.push_back(distribution(engine)); + } + + long long sum = 0; + for (int i = 0; i < SIZE; i++) { + sum += b[i * 2] * b[i * 2 + 1]; + } + + cout << SIZE << ' ' << (sum + 10) << '\n'; + + for (int i = 0; i < SIZE; i++) { + cout << b[i * 2] << ' ' << b[i * 2 + 1] << '\n'; + } + + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/4/5.cpp b/works/life/algorithm-contest-2/generator/4/5.cpp new file mode 100644 index 0000000..518a4aa --- /dev/null +++ b/works/life/algorithm-contest-2/generator/4/5.cpp @@ -0,0 +1,29 @@ +#include +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 10000); + const int SIZE = 600; + std::vector b; + + for (int i = 0; i < SIZE * 2; i++) { + b.push_back(distribution(engine)); + } + + long long sum = 0; + for (int i = 0; i < SIZE; i++) { + sum += b[i * 2] * b[i * 2 + 1]; + } + + cout << SIZE << ' ' << 5000 << '\n'; + + for (int i = 0; i < SIZE; i++) { + cout << b[i * 2] << ' ' << b[i * 2 + 1] << '\n'; + } + + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/4/6.cpp b/works/life/algorithm-contest-2/generator/4/6.cpp new file mode 100644 index 0000000..b4bdb00 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/4/6.cpp @@ -0,0 +1,29 @@ +#include +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution distribution(1, 10000); + const int SIZE = 100; + std::vector b; + + for (int i = 0; i < SIZE * 2; i++) { + b.push_back(distribution(engine)); + } + + long long sum = 0; + for (int i = 0; i < SIZE; i++) { + sum += b[i * 2] * b[i * 2 + 1]; + } + + cout << SIZE << ' ' << 5000 << '\n'; + + for (int i = 0; i < SIZE; i++) { + cout << b[i * 2] << ' ' << b[i * 2 + 1] << '\n'; + } + + return 0; +} diff --git a/works/life/algorithm-contest-2/generator/5/1.in b/works/life/algorithm-contest-2/generator/5/1.in new file mode 100644 index 0000000..a1dfd91 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/5/1.in @@ -0,0 +1,2 @@ +5 3 +6 1 2 3 4 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/5/2.in b/works/life/algorithm-contest-2/generator/5/2.in new file mode 100644 index 0000000..7c0d388 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/5/2.in @@ -0,0 +1,2 @@ +6 8 +1 9 5 4 3 6 \ No newline at end of file diff --git a/works/life/algorithm-contest-2/generator/5/3.cpp b/works/life/algorithm-contest-2/generator/5/3.cpp new file mode 100644 index 0000000..62d18c4 --- /dev/null +++ b/works/life/algorithm-contest-2/generator/5/3.cpp @@ -0,0 +1,47 @@ +#include +#include +#include + +using std::cout; + +int main() { + std::default_random_engine engine(std::random_device{}()); + std::uniform_int_distribution insert_distribution(0, 997); + std::uniform_int_distribution distribution(1, 100000); + const int SIZE = 1000; + std::vector v; + + for (int i = 0; i < SIZE - 1; i++) { + v.push_back(distribution(engine)); + } + + int K = 320; + + int a_index = insert_distribution(engine); + int a = v[a_index]; + int b_index = insert_distribution(engine); + while (b_index == a_index) { + b_index = insert_distribution(engine); + } + int b = v[b_index]; + + int c_index = insert_distribution(engine); + while (c_index == a_index && c_index == b_index) { + c_index = insert_distribution(engine); + } + int c = v[c_index]; + + int d = (((-a - b - c) % K + K) % K) + 20 * K; + + int d_index = insert_distribution(engine); + + v.insert(v.cbegin() + d_index, c); + + cout << SIZE << ' ' << K << '\n'; + + for (int i = 0; i < SIZE; i++) { + cout << v[i] << ' '; + } + + return 0; +} -- cgit v1.2.3