原题链接:原题链接
原题大意:你有a,b,c,d个"((","()",")(","))",问能否将这些字符串组成一个合法的括号序列。
题目解法:其实这个题与贪心没有多大关系,只要通过分析就可以得到答案。显然“()”是不影响构成括号序列的,所以b的大小无所谓。")(“不改变左右括号的个数,所以只要”(("="))“即可,即a=d,但是有一种特殊情况就是没有”(("、"))"时,即当a=0时,c只能为0,因为若a=0且c!=0则一定会有一个左括号不能匹配。
题目代码:
#include<stdio.h>
int main()
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a==d)
{
if(a==0)
{
if(c==0)
printf("1\n");
else
{
printf("0\n");
}
}else
printf("1\n");
}else
{
printf("0\n");
}
return 0;
}
欢迎留言哦!