題目大意:略
題目思路:資料範圍很小,可以搜尋,但是如果資料範圍較大則只能dp
用二維陣列表示狀態dp[i][j]表示掃瞄到第i個字元時有j個'('還未完成匹配,而答案就是dp[len-1][0] len表示字串長度,
dp[len-1][0]表示掃瞄完最後乙個字元後沒有未匹配的'('.
**:
#include #include#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define lson root<<1,l,mid
#define rson root<<1|1,mid+1,r
#define fi first
#define se second
#define ping(x,y) ((x-y)*(x-y))
#define mst(x,y) memset(x,y,sizeof(x))
using
namespace
std;
#define gamma 0.5772156649015328606065120 //
尤拉常數
#define mod 100000007
#define inf 0x3f3f3f3f
#define n 100005
#define maxn 10001000typedef
long
long
ll;typedef pair
pii;
char str[20
];int dp[20][20
];int
main()
else
if(str[i]=='
)') ///
掃到乙個')'則該和j+1個'('相同,因為當前的')'會消去乙個'('
else
///如果是?則可以加'(',也可以加')'所以兩種情況都要加
}printf(
"%d\n
",dp[len-1][0
]); }
return0;
}
FZU 2030 括號問題(搜尋)
problem 2030 括號問題 給出乙個字串,其中包括3種字元 其中?表示這個字元可以是 也可以是 現在給出字串s,你可以在 處填寫 或者 當然隨意填寫得到的序列可能是括號不匹配的。例如 如果你填寫 那麼 是括號不匹配的!現在你的任務是確定你有多少種填寫方案,使得最終的字串是括號匹配的!2種方案...
FZU 2030 括號問題 (DP)
problem 2030 括號問題 給出乙個字串,其中包括3種字元 其中?表示這個字元可以是 也可以是 現在給出字串s,你可以在 處填寫 或者 當然隨意填寫得到的序列可能是括號不匹配的。例如 如果你填寫 那麼 是括號不匹配的!現在你的任務是確定你有多少種填寫方案,使得最終的字串是括號匹配的!2種方案...
FZU 2030 括號問題 爆搜 DP
problem 2030 括號問題 給出乙個字串,其中包括3種字元 其中?表示這個字元可以是 也可以是 現在給出字串s,你可以在 處填寫 或者 當然隨意填寫得到的序列可能是括號不匹配的。例如 如果你填寫 那麼 是括號不匹配的!現在你的任務是確定你有多少種填寫方案,使得最終的字串是括號匹配的!2種方案...