#include <bits/stdc++.h> using namespace std; #define N 100 bool tab[N][N]; void print() { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cout << (int)(tab[i][j]); } cout << "\n"; } // cout << "\n"; } bool lg(int i, int j) { return (i > 0 && j > 0 && tab[i - 1][j - 1] == tab[i][j] && tab[i - 1][j] != tab[i][j] && tab[i][j - 1] != tab[i][j]); } bool ld(int i, int j) { return (i < N - 1 && j > 0 && tab[i + 1][j - 1] == tab[i][j] && tab[i][j - 1] != tab[i][j] && tab[i + 1][j] != tab[i][j]); } bool pg(int i, int j) { return (i > 0 && j < N - 1 && tab[i - 1][j + 1] == tab[i][j] && tab[i - 1][j] != tab[i][j] && tab[i][j + 1] != tab[i][j]); } bool pd(int i, int j) { return (i < N - 1 && j < N - 1 && tab[i + 1][j + 1] == tab[i][j] && tab[i + 1][j] != tab[i][j] && tab[i][j + 1] != tab[i][j]); } set<string> conf; string to_string() { string s; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (tab[i][j]) s += '1'; else s += '0'; } } return s; } void step() { queue<pair<int, int>> zmiany; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (lg(i, j) || ld(i, j) || pg(i, j) || pd(i, j)) { zmiany.push({i, j}); } } } // cout << zmiany.size() << "\n"; while (!zmiany.empty()) { pair<int, int> p = zmiany.front(); zmiany.pop(); tab[p.first][p.second] = !tab[p.first][p.second]; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); for (int i = 1; i < N; i++) { tab[0][i] = 1; } for (int i = 1; i < N; i++) { if (i % 2 == 1) { tab[i][0] = 1; } else { for (int j = 0; j < N - 1; j++) tab[i][j] = 1; // tab[i][N - 1] = 1; } } print(); return 0; // conf.insert(to_string()); // for(int i = 1; i < 10000; i++) { // step(); // cout << "i = " << i << "\n"; // print(); // string s = to_string(); // if (conf.find(s) != conf.end()) { // cout << "repetition " << i << "\n"; // return 0; // } // else { // conf.insert(s); // } // } }
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | #include <bits/stdc++.h> using namespace std; #define N 100 bool tab[N][N]; void print() { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cout << (int)(tab[i][j]); } cout << "\n"; } // cout << "\n"; } bool lg(int i, int j) { return (i > 0 && j > 0 && tab[i - 1][j - 1] == tab[i][j] && tab[i - 1][j] != tab[i][j] && tab[i][j - 1] != tab[i][j]); } bool ld(int i, int j) { return (i < N - 1 && j > 0 && tab[i + 1][j - 1] == tab[i][j] && tab[i][j - 1] != tab[i][j] && tab[i + 1][j] != tab[i][j]); } bool pg(int i, int j) { return (i > 0 && j < N - 1 && tab[i - 1][j + 1] == tab[i][j] && tab[i - 1][j] != tab[i][j] && tab[i][j + 1] != tab[i][j]); } bool pd(int i, int j) { return (i < N - 1 && j < N - 1 && tab[i + 1][j + 1] == tab[i][j] && tab[i + 1][j] != tab[i][j] && tab[i][j + 1] != tab[i][j]); } set<string> conf; string to_string() { string s; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (tab[i][j]) s += '1'; else s += '0'; } } return s; } void step() { queue<pair<int, int>> zmiany; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (lg(i, j) || ld(i, j) || pg(i, j) || pd(i, j)) { zmiany.push({i, j}); } } } // cout << zmiany.size() << "\n"; while (!zmiany.empty()) { pair<int, int> p = zmiany.front(); zmiany.pop(); tab[p.first][p.second] = !tab[p.first][p.second]; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); for (int i = 1; i < N; i++) { tab[0][i] = 1; } for (int i = 1; i < N; i++) { if (i % 2 == 1) { tab[i][0] = 1; } else { for (int j = 0; j < N - 1; j++) tab[i][j] = 1; // tab[i][N - 1] = 1; } } print(); return 0; // conf.insert(to_string()); // for(int i = 1; i < 10000; i++) { // step(); // cout << "i = " << i << "\n"; // print(); // string s = to_string(); // if (conf.find(s) != conf.end()) { // cout << "repetition " << i << "\n"; // return 0; // } // else { // conf.insert(s); // } // } } |