枚举2树下时,移动次数要从1开始!!!!!
for (int j = 1 <--------- ; j <= w && j <= i; j++) f[i][j][1] = max(f[i - 1][j][1], f[i - 1][j - 1][0]) + (a[i] == 2 ? 1 : 0);
for (int j = 0 <--------- ; j <= w && j <= i; j++) f[i][j][0] = max(f[i - 1][j][0], f[i - 1][j - 1][1]) + (a[i] == 1 ? 1 : 0);