aboutsummaryrefslogtreecommitdiff
path: root/works/life/2020-algorithm-contest/test-data/4
diff options
context:
space:
mode:
Diffstat (limited to 'works/life/2020-algorithm-contest/test-data/4')
-rw-r--r--works/life/2020-algorithm-contest/test-data/4/1.in3
-rw-r--r--works/life/2020-algorithm-contest/test-data/4/2.in5
-rw-r--r--works/life/2020-algorithm-contest/test-data/4/3.cpp50
3 files changed, 58 insertions, 0 deletions
diff --git a/works/life/2020-algorithm-contest/test-data/4/1.in b/works/life/2020-algorithm-contest/test-data/4/1.in
new file mode 100644
index 0000000..d9d2898
--- /dev/null
+++ b/works/life/2020-algorithm-contest/test-data/4/1.in
@@ -0,0 +1,3 @@
+3 4 2
+0 3
+1 0
diff --git a/works/life/2020-algorithm-contest/test-data/4/2.in b/works/life/2020-algorithm-contest/test-data/4/2.in
new file mode 100644
index 0000000..afe3aef
--- /dev/null
+++ b/works/life/2020-algorithm-contest/test-data/4/2.in
@@ -0,0 +1,5 @@
+3 4 4
+0 3
+1 0
+1 2
+2 1
diff --git a/works/life/2020-algorithm-contest/test-data/4/3.cpp b/works/life/2020-algorithm-contest/test-data/4/3.cpp
new file mode 100644
index 0000000..20428a6
--- /dev/null
+++ b/works/life/2020-algorithm-contest/test-data/4/3.cpp
@@ -0,0 +1,50 @@
+#include <iostream>
+#include <random>
+#include <set>
+#include <algorithm>
+
+struct Point
+{
+ int x;
+ int y;
+};
+
+bool operator<(const Point &left, const Point &right)
+{
+ return left.x == right.x ? left.y < right.y : left.x < right.x;
+}
+
+int main()
+{
+ std::default_random_engine engine{39};
+ const int size = 20;
+ const int b_size = 50;
+ std::uniform_int_distribution<> distribution(0, size - 1);
+ std::cout << size << ' ' << size << ' ' << b_size << '\n';
+
+ std::set<Point> b;
+
+ while (b.size() < b_size)
+ {
+ int x = distribution(engine);
+ int y = distribution(engine);
+
+ if (x == 0 && y == 0)
+ continue;
+ if (x == size - 1 && y == size - 1)
+ continue;
+
+ b.insert({x, y});
+ }
+
+ std::vector<Point> bb(b.cbegin(), b.cend());
+
+ std::shuffle(bb.begin(), bb.end(), engine);
+
+ for (const auto &p : bb)
+ {
+ std::cout << p.x << ' ' << p.y << '\n';
+ }
+
+ return 0;
+}