问题 E: 括号规则
时间限制: 1 Sec 内存限制: 128 MB
[提交][状态][讨论版]
题目描述
给你四个整数,cnt1字符串"((",cnt2字符串"()", cnt3字符串")(“和cnt4字符串”))"。
你要把这些字符串按顺序写下来,一个接一个;之后,你将得到一个长括号序列,长度为2(cnt1+cnt2+cnt3+cnt4)。
你想知道是否能组合成一个规则的括号序列。注意,你不能删除任何字符或字符串,也不能添加任何内容。
规则的括号序列就是"("和“)”能够匹配,不会有多余的“(”或“)”
输入
输入4个整数cnt1,cnt2,cnt3,cnt4(0≤cnti≤109)
多组数据测试
输出
若能形成一个规则的括号序列,则输出1,否则输出0
样例输入
3 1 4 3
0 0 0 0
1 2 3 4
样例输出
1
1
0
提示
第一个样例的字符串为"((((((())()()()()))))),可以进行匹配,所以输出1
/*
继续深夜补题~~
一开始样例没给对,一直没看懂题。。。
简单规律题:
要匹配:
cnt1字符串"((",cnt2字符串"()", cnt3字符串")(“和cnt4字符串”))"。
cnt1 一定要等于cnt2,这样才可以匹配
cnt2不用管,自己已经匹配
对于cnt3,它无论多少个都会多出一对")("
而必须要有cnt1和cnt4才可以匹配掉它
综上所述,写代码
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
while(~scanf("%d%d%d%d",&a,&b,&c,&d))
{
if(a != d) puts("0");
else if(a == 0 && c != 0) puts("0");
else puts("1");
}
return 0;
}