ACM括號匹配題解

2021-09-16 21:30:51 字數 952 閱讀 4232

現在,有一行括號序列,請你檢查這行括號是否配對。
第一行輸入乙個數n(0拿到該題目的時候,想的最多的當然是括號匹配的問題,並沒有思考其他的。以下是我思考的過程:

隨便寫乙個很長的括號匹配的例子來找到其中的規律。如下:

[([()])()]

第一種是區間dp解法

#include #include #include using namespace std;

const int maxn =101;

char str[maxn];

int dp[maxn][maxn];

int main()

else dp[i][j] = dp[i + 1][j - 1];

for(int k = i; k < j; k++)}}

printf("%d\n", dp[0][n - 1]);

}}

#include#include#include#includeusing namespace std;

int main()

if (c == '}')

else

}if (!ss.empty() && c == ']')//注意此處!作用

else

}if (!ss.empty() && c == ')')

else

}} if (flag) cout << "yes" << endl;

else cout << "no" << endl;

}}

遍歷這裡的for(char c:chars)就是定義乙個遍歷字元c,

讓它分別等於字串陣列chars裡面的各個字元,

然後執行下面的語句,

當c被賦值為chars裡面所有字元各一次後,就會退出這個迴圈.

ACM 括號匹配

時間限制 1000 ms 記憶體限制 65535 kb 難度 6 描述 給你乙個字串,裡面只包含 四種符號,請問你需要至少新增多少個括號才能使這些括號匹配起來。如 是匹配的 是匹配的 是不匹配的 是不匹配的 輸入 第一行輸入乙個正整數n,表示測試資料組數 n 10 每組測試資料都只有一行,是乙個字串...

ACM 括號匹配

時間限制 1000 ms 記憶體限制 65535 kb 難度 6 描述給你乙個字串,裡面只包含 四種符號,請問你需要至少新增多少個括號才能使這些括號匹配起來。如 是匹配的 是匹配的 是不匹配的 是不匹配的 輸入第一行輸入乙個正整數n,表示測試資料組數 n 10 每組測試資料都只有一行,是乙個字串s,...

題解 括號匹配

題解 描述假設表示式中只包含三種括號 圓括號 方括號和花括號,它們可相互巢狀,如 或 等均為正確的格式,而 或均為不正確的格式.輸入一串括號 如果輸入的右括號多餘,輸出 extra right brackets 如果輸入的左括號多餘,輸出 extra left brackets 如果輸入的括號不匹配...