题目描述:
待更新
示例:
输入:
limit =3
oper =[0,3,][2,1][3,2][6,1][7,3]
输出:5
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int solve(vector<vector<int>> &oper, int limit) {
int ans = 0;
int len = oper.size();
int maxTime = oper[len - 1][0] + limit;
vector<vector<bool>> status(3, vector<bool>(maxTime, false));
for (auto &it: oper) {
for (int i = it[0]; i < (it[0] + limit); ++i) {
status[it[1] - 1][i] = !status[it[1] - 1][i];
}
}
for (int i = 0; i < maxTime; ++i) {
if (status[0][i] && (status[1][i] || status[2][i])) {
++ans;
}
}
return ans;
}
};
int main() {
Solution so;
int limit = 3;
vector<vector<int>> oper = {{0, 3},
{2, 1},
{3, 2},
{6, 1},
{7, 3}};
cout << so.solve(oper, limit) << endl;
return 0;
}