牛客 刪括號

2021-10-05 07:47:55 字數 1239 閱讀 9184

給你乙個合法的括號序列s1,每次你可以刪除乙個"()"

你可以刪除0個或者多個"()"

求能否刪成另乙個括號序列s2

第一行輸入乙個字串s (2 ≤ |s| ≤ 100)

第二行輸入乙個字串t (2 ≤ |t| ≤ 100 )

如果可以輸出"possible"

否則輸出"impossible"

(()

)()

possible
()(

)

possible
(()

()()

)(((

)))

impossible
(((

))((

())(

))()

)(()

(())

())

possible
(((

))((

())(

))()

)(((

)()(

)()(

)))

impossible
對於這種判斷能否轉化的問題,基本都用dp[i][j][k]1/0的辦法來判斷時候匹配,由於匹配存在多種情況,本位匹配和非本位匹配。都要考慮上

k=刪除的『(』數量-刪除的『)』數量

#include

#include

using

namespace std;

const

int maxn =

105;

char s[maxn]

, t[maxn]

;int dp[

105]

[105][

55];int

main()

}}}if

(dp[len1]

[len2][0

])cout <<

"possible"

<< endl;

else

cout <<

"impossible"

<< endl;

return0;

}}

刪括號(牛客)

題目描述 給你乙個合法的括號序列s1,每次你可以刪除乙個 你可以刪除0個或者多個 求能否刪成另乙個括號序列s2 輸入描述 第一行輸入乙個字串s 2 s 100 第二行輸入乙個字串t 2 t 100 輸出描述 如果可以輸出 possible 否則輸出 impossible 示例1輸入 複製 輸出 複製...

牛客 21303 刪括號

給你乙個合法的括號序列s1,每次你可以刪除乙個 你可以刪除0個或者多個 求能否刪成另乙個括號序列s2 第一行輸入乙個字串s 2 s 100 第二行輸入乙個字串t 2 t 100 如果可以輸出 possible 否則輸出 impossible possible possible impossible ...

牛客網 刪數

有乙個陣列a n 順序存放0 n 1,要求每隔兩個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置。以8個數 n 7 為例 0,1,2,3,4,5,6,7 0 1 2 刪除 3 4 5 刪除 6 7 0 刪除 如此迴圈直到最後乙個數被刪除。輸入描述 每組資料為一行乙個整數...