現在,有一行括號序列,請你檢查這行括號是否配對。
第一行輸入乙個數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 如果輸入的括號不匹配...