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:见鬼了,C++WA, G++AC~In Reply To:见鬼了,C++WA, G++AC~ Posted by:Moon_1st at 2011-01-29 22:17:10 > 代码如下~ > #include <iostream> > #include <cstdio> > #include <cstring> > using namespace std; > > const int N = 110; > const int INF = 65536; > > char str[N]; > int f[N][N], act[N][N]; > bool finish[N][N]; > > void Outchar(char c) > { > switch(c) > { > case '(': printf(")"); break; > case ')': printf("("); break; > case '[': printf("]"); break; > case ']': printf("["); break; > } > } > > bool Yes(char c1, char c2) > { > if(c1=='(' && c2==')') return true; > if(c1=='[' && c2==']') return true; > return false; > } > > void Dp(int l, int r) > { > int i; > if(finish[l][r]) return; > if(l == r) > { > f[l][r] = 1; > return; > } > if(l > r) > { > f[l][r] = 0; > return; > } > f[l][r] = INF; > if(Yes(str[l], str[r])) > { > Dp(l+1, r-1); > if(f[l+1][r-1] < f[l][r]) > { > f[l][r] = f[l+1][r-1]; > act[l][r] = 0; > } > } > for(i = l; i < r; i++) > { > Dp(l, i); > Dp(i+1, r); > if(f[l][i]+f[i+1][r] < f[l][r]) > { > f[l][r] = f[l][i]+f[i+1][r]; > act[l][r] = i; > } > } > finish[l][r] = true; > } > > void Print(int l, int r) > { > if(l == r) > { > switch(str[l]) > { > case '(': printf("()"); break; > case ')': printf("()"); break; > case '[': printf("[]"); break; > case ']': printf("[]"); break; > } > return; > } > if(l > r) return; > if(act[l][r] == 0) > { > printf("%c", str[l]); > Print(l+1, r-1); > printf("%c", str[r]); > } > else > { > Print(l, act[l][r]); > Print(act[l][r]+1, r); > } > } > > int main() > { > int len; > char s[N]; > scanf("%s", s); > len = strlen(s); > if(len == 0) > { > printf("\n"); > return 0; > } > for(int i=0; i < len; i++) str[i+1] = s[i]; > memset(act, -1, sizeof(act)); > memset(finish, false, sizeof(finish)); > Dp(1, len); > Print(1, len); > printf("\n"); > return 0; > } 很鸡巴正常!我常遇到,你做题是不是太少了? Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator