| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:new message for problem 3821In Reply To:new message for problem 3821 Posted by:767676 at 2026-05-17 19:04:59 > code:
> #include <stdio.h>
> #include <string.h>
>
> char s[155];
> int dp[155][155];
> int len;
>
> int dfs(int l, int r) {
> if (l > r) return 1;
> if (l == r) return 0;
> if (dp[l][r] != -1) return dp[l][r];
>
> if (s[l] == s[r] && dfs(l + 1, r - 1)) {
> return dp[l][r] = 1;
> }
>
> for (int k = l; k < r; k++) {
> if (dfs(l, k) && dfs(k + 1, r)) {
> return dp[l][r] = 1;
> }
> }
>
> for (int k = l + 1; k <= r; k++) {
> if (s[l] == s[k] && dfs(l + 1, k - 1) && dfs(k, r)) {
> return dp[l][r] = 1;
> }
> }
>
> return dp[l][r] = 0;
> }
>
> int main(void) {
> while (gets(s)) {
> len = strlen(s);
> memset(dp, -1, sizeof(dp));
> if (dfs(0, len - 1)) {
> puts("solvable");
> } else {
> puts("unsolvable");
> }
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator