Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <queue>
- #include <iterator>
- using namespace std;
- vector<vector<int>> field(100, vector<int> (100));
- vector<vector<int>> new_field(100, vector<int> (100));
- vector<int> dx = {1, 1, 0, -1, -1, -1, 0, 1};
- vector<int> dy = {0, -1, -1, -1, 0, 1, 1, 1};
- int color (int x, int y) {
- int cnt = 0;
- for (int i = 0; i < 8; i++) {
- int new_x = x + dx[i];
- int new_y = y + dy[i];
- if (new_x >= 0 && new_x <= 99 && new_y >= 0 && new_y <= 99 && field[new_x][new_y] == 1)
- cnt++;
- }
- if (field[x][y] == 0) {
- if (cnt == 3) {
- return 1;
- } else {
- return 0;
- }
- } else {
- if (cnt == 2 || cnt == 3)
- return 1;
- else
- return 0;
- }
- }
- int main()
- {
- field[50][50] = 1;
- field[50][51] = 1;
- field[50][52] = 1;
- field[51][50] = 1;
- for (int i = 0; i < 3; i++) {
- for (int x = 0; x < 100; x++)
- for (int y = 0; y < 100; y++) {
- new_field[x][y] = color(x, y);
- }
- field = new_field;
- }
- int cnt = 0;
- for (int x = 0; x < 100; x++)
- for (int y = 0; y < 100; y++)
- if (field[x][y] == 1)
- cnt++;
- cout << cnt << endl;
- for (int i = 45; i < 55; i++) {
- for (int j = 45; j < 55; j++)
- cout << field[i][j] << " ";
- cout << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement