func_code_string: #include <bits/stdc++.h>   using namespace std;   int dp[105][105][2], a[105];   int n;   void printdp() {     int cnt = 0;     for (int i = 0; i < n + 1; i++) {       for (int j = 0; j < n + 1; j++) {         for (int k = 0; k < 2; k++) {           cnt++;           cout <<  index    << i <<     << j <<     << k <<     << dp[i][j][k]                <<    ;         }         cout << endl;       }       cout << endl;     }     cout << endl << cnt << endl;   }   int main() {     cin >> n;     for (int i = 0; i < n + 1; i++) {       for (int j = 0; j < n + 1; j++) {         for (int k = 0; k < 2; k++) {           dp[i][j][k] = n + 1;         }       }     }     for (int i = 1; i <= n; i++) {       cin >> a[i];     }     dp[0][0][0] = dp[0][0][1] = 0;     for (int i = 1; i <= n; i++) {       for (int j = 0; j <= i; j++) {         if (a[i] % 2 || a[i] == 0) {           dp[i][j][1] = min(dp[i - 1][j][0] + 1, dp[i - 1][j][1]);         }         if (a[i] % 2 == 0 && j > 0) {           dp[i][j][0] = min(dp[i - 1][j - 1][0], dp[i - 1][j - 1][1] + 1);         }       }     }     cout << min(dp[n][n / 2][0], dp[n][n / 2][1]) << endl;   }   