Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:new message for problem 3821

Posted by 767676 at 2026-05-17 19:05:41 on Problem 3821
In 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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator