这个题目怎么回事???我答案减一样例过不了但是AC了!
查看原帖
这个题目怎么回事???我答案减一样例过不了但是AC了!
722677
iamputin楼主2023/8/4 09:19

下面这是代码

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 55;

string str;

int dp[MAXN][MAXN];

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  getline(cin, str);
  int n = str.size();
  for (int len = 1; len <= n; ++len) {
    for (int l = 0; l + len - 1 < n; ++l) {
      int r = l + len - 1;
      if (len == 1)
        dp[l][r] = 1;
      else {
        if (str[l] == str[r]) {
          dp[l][r] = dp[l + 1][r];
        } else {
          dp[l][r] = numeric_limits<int>::max();
          for (int k = l; k < r; ++k) {
            dp[l][r] = min(dp[l][k] + dp[k + 1][r], dp[l][r]);
          }
        }
      }
    }
  }
  cout << dp[0][n - 1] - 1 << endl;
}

真离谱,减一之前能过样例,但提交上去全WA

减一之后样例全过不了,但AC了。。。。

2023/8/4 09:19
加载中...