Bài hôm nay là bài hôm qua mà huynh
Java:
class Solution {
final long MOD = 1_000_000_007;
public int numberOfStableArrays(int zero, int one, int limit) {
long[][] dp0 = new long[zero + 1][one + 1];
long[][] dp1 = new long[zero + 1][one + 1];
for (int i = 0; i <= Math.min(zero, limit); i++) dp0[i][0] = 1;
for (int i = 0; i <= Math.min(one, limit); i++) dp1[0][i] = 1;
for (int i = 1; i <= zero; i++) {
for (int j = 1; j <= one; j++) {
if (i > limit) {
dp0[i][j] = dp0[i - 1][j] + dp1[i - 1][j] - dp1[i - limit - 1][j];
} else {
dp0[i][j] = dp0[i - 1][j] + dp1[i - 1][j];
}
dp0[i][j] = (dp0[i][j] % MOD + MOD) % MOD;
if (j > limit) {
dp1[i][j] = dp0[i][j - 1] + dp1[i][j - 1] - dp0[i][j - limit - 1];
} else {
dp1[i][j] = dp0[i][j - 1] + dp1[i][j - 1];
}
dp1[i][j] = (dp1[i][j] % MOD + MOD) % MOD;
}
}
return (int) ((dp0[zero][one] + dp1[zero][one]) % MOD);
}
}



AI sắp đá đít khỏi ghế r 
