forked from luliyucoordinate/Leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0957.cpp
More file actions
25 lines (25 loc) · 631 Bytes
/
0957.cpp
File metadata and controls
25 lines (25 loc) · 631 Bytes
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
static int x = []() {std::ios::sync_with_stdio(false); cin.tie(0); return 0; }();
class Solution
{
public:
vector<int> prisonAfterNDays(vector<int>& cells, int N)
{
N = N % 14;
if (N == 0) N = 14;
for (int i = 0; i < N; ++i)
{
for (int j = 1; j < 7; ++j)
{
if ((cells[j-1] & 1) == (cells[j+1] & 1))
{
cells[j] = cells[j] & 1 ? 3 : 2;
}
}
for (int j = 0; j < 8; ++j)
{
cells[j] >>= 1;
}
}
return cells;
}
};