标签:
试题描述
|
输入
|
输出
|
输入示例
|
输出示例
|
其他说明
|
C程序:
#include <cstdio> #include <cstring> char s[60]; int len; bool kh(int start, int end){ if(start > len || end > len){ return true; } if(start > end){ return true; } if(start + 1 == end && (s[start] == ‘(‘ && s[end] == ‘)‘) || (s[start] == ‘[‘ && s[start] == ‘]‘)){ return true; } for(int i = start + 1; i <= end; ++i){ if((s[start] == ‘(‘ && s[i] == ‘)‘) || (s[start] == ‘[‘ && s[i] == ‘]‘)){ if(kh(start + 1, i - 1) && kh(i + 1, end)){ return true; } } } return false; } int main(){ int n; scanf("%d", &n); for(int k = 1; k <= n; ++k){ scanf("%s", s); len = strlen(s) - 1; if(kh(0, len)){ printf("Yes\n"); }else{ printf("No\n"); } memset(s, 0, sizeof(s)); } return 0; }
标签:
原文地址:http://www.cnblogs.com/WHYFRANK/p/4717683.html