第一行一个整数表示放假天数
第二行 n 个数 每个数为0或1,第 i 个数表示公司在第 i 天是否营业
第三行 n 个数 每个数为0或1,第 i 个数表示健身房在第 i 天是否营业
(1为营业 0为不营业)
一个整数,表示小Q休息的最少天数
4 1 1 0 0 0 1 1 0
2
小Q可以在第一天工作,第二天或第三天健身,小Q最少休息2天
let nDayoff = readline();
let workStr = readline();
let gymStr = readline();
let work = workStr.split(' ').map(Number);
let gym = gymStr.split(' ').map(Number);
let len = work.length;
let dp = new Array(nDayoff + 1);
for (let i = 0; i < nDayoff + 1; i++) {
dp[i] = new Array(3).fill(Infinity);
}
//console.log("dp:", dp);
dp[0][0] = dp[0][1] = dp[0][2] = 0;
for (let i = 1; i <= len; i++) {
if (gym[i - 1] === 1) {
// 可以锻炼
dp[i][1] = Math.min(dp[i - 1][0], dp[i - 1][2]);
}
if (work[i - 1] === 1) {
//可以工作
dp[i][2] = Math.min(dp[i - 1][0], dp[i - 1][1]);
}
//可以休息
dp[i][0] = Math.min(dp[i - 1][0], Math.min(dp[i - 1][1], dp[i - 1][2])) + 1;
}
let res = Math.min(dp[len][0], Math.min(dp[len][1], dp[len][2]));
console.log(res);