1
class Solution {
2
public:
3
vector<int> prisonAfterNDays(vector<int> &cells, int N) {
4
if (N == 0) return cells;
5
prison(cells,
6
1); // Prison cells for one day, The pattern repeats from day 1 - 14
7
prison(cells, (N - 1) % 14); // Simply day 14 = day 1, Day 0 never repeats
8
// because of corners
9
return cells;
10
}
11
void prison(vector<int> &cells, const int &N) {
12
for (int i = 0; i < N; i++) {
13
vector<int> v(8, 0);
14
for (int i = 1; i < 7; i++)
15
if (cells[i - 1] == cells[i + 1])
16
v[i] = 1;
17
else
18
v[i] = 0;
19
cells = v;
20
}
21
}
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0