1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <cstdlib>
#include <ctime>

constexpr uint32_t v = 100;
constexpr uint32_t c = v;
constexpr uint32_t r = v;

bool arr[c][r];

void prog_main(std::istream& in, std::ostream& out)
{
	std::srand(std::time({}));
    	const uint32_t random = std::rand() % 10;

	for (auto i = 0; i < r; ++i)
	{
		if (i % 2) {
			arr[i][0] = true;
		} else {
			arr[i][r - 1] = true;
		}
	}
	for (auto i = 0; i < c; ++i)
	{
		arr[0][i] = false;
		arr[1][i] = true;
	}

	arr[0][0] = true;
	arr[1][0] = false;
	for (auto i = 0; i < c; ++i)
	{
		for (auto j = 0; j < r; ++j)
		{
			// 0101010101
			// 0120120120
			// 0123012301
			auto k = random % 4 ==0 ?  i : c - 1 - i;
			auto l = random % 4 ==0 ?  j : r - 1 - j;
			auto condition = random % 2 == 0 ? arr[k][l] : arr[l][k];
			condition = random % 3 == 0 ? !condition : condition;
			if (condition) {
				out << "0";
			} else {
				out << "1";
			}
		}
		out << "\n";
	}
}

#ifndef TEST
int main(int argc, char* argv[])
{
	prog_main(std::cin, std::cout);
	return 0;
}
#endif