Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <vector>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int summ(int i, int j, vector<vector<int>>& mas) {
  7. // cout << mas[i-1][j] << mas[i][j-1] << mas[i+1][j] << mas[i][j+1] << "\n";
  8. return (mas[i - 1][j] + mas[i + 1][j] + mas[i][j - 1] + mas[i][j + 1]);
  9. }
  10.  
  11. int main() {
  12. int n, t;
  13. vector<vector<int>> matrix;
  14. vector<vector<int>> live;
  15. cin >> n >> t;
  16. matrix.resize(n + 2);
  17. live.resize(n + 2);
  18. for (int i = 0; i < matrix.size(); ++i) {
  19. matrix[i].resize(n + 2, 0);
  20. live[i].resize(n + 2, 0);
  21. for (int j = 0; j < matrix.size(); ++j) {
  22. matrix[i][j] = 0;
  23. live[i][j] = 0;
  24. }
  25. }
  26. for (int i = 1; i <= n; ++i) {
  27. for (int j = 1; j <= n; ++j)
  28. cin >> matrix[i][j];
  29. }
  30. for (int k = 1; k <= t; ++k) {
  31. for (int i = 1; i <= n; ++i)
  32. for (int j = 1; j <= n; ++j) {
  33. live[i][j] = matrix[i][j];
  34. }
  35. for (int i = 1; i <= n; ++i)
  36. for (int j = 1; j <= n; ++j) {
  37. if ((summ(i, j, live) > 3) || (summ(i, j, live) < 2)) matrix[i][j] = 0;
  38. }
  39. for (int i = 1; i <= n; ++i)
  40. for (int j = 1; j <= n; ++j) {
  41. if (summ(i, j, live) == 3) matrix[i][j] = 1;
  42. }
  43. }
  44. for (int i = 1; i <= n; ++i) {
  45. for (int j = 1; j <= n; ++j)
  46. cout << matrix[i][j] << " ";
  47. cout << "\n";
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement