INPUT
Code: Select all
5 ( 5 () 1 () ())
4 ( 2 (2 () 1()()) ())
Moderator: Board moderators
Code: Select all
#define MAX 100
Code: Select all
5 ( 5 () ( 1 () ()))
4 ( 2 (2 () (1()())) ())
Code: Select all
77 (77(1()())())
Code: Select all
77
(
77
(
1
()
()
)
()
)
Code: Select all
77 (77(1()())())
77 (77 (1 () ()) (0 () ()) )
77 (77 () ())
Code: Select all
no
yes
yes
Code: Select all
-50 ( -25
)
)
( -25(
)
( )
)
)
"yes"
Code: Select all
Runtime Error (SIGABRT)
Code: Select all
Your program has died with signal 6 (SIGABRT). Meaning:
Abort signal from abort()
Before crash, it ran during 6.104 seconds.
Code: Select all
#include <stdio.h>
#include <ctype.h>
char s[1000];
int n;
int leaf(int i){
if (s[i]=='(' && s[i+1]==')' && s[i+2]=='(' && s[i+3]==')' ) return 1;
return 0;
}
int check(void){
int i, lev, sum[100], nr;
sum[0]=lev=0;
for(i=0;s[i]!='\0';i++){
if(s[i]=='(') lev++;
else if(s[i]==')') lev--;
else {
sscanf(s+i, "%d", &nr);
sum[lev]=sum[lev-1]+nr;
while((isdigit(s[i]) || s[i]=='-') && isdigit(s[i+1])) i++;
if (sum[lev]==n && leaf(i+1)) return 1;
}
}
return 0;
}
int main(){
FILE *in;
char ch;
int i, lev;
in = fopen("112.in","rb");
while(fscanf(in, "%d ", &n)==1){
i=lev=0;
do{
ch=fgetc(in);
if (ch==' ' || ch=='\t' || ch=='\n' || ch=='\r') continue;
s[i++]=ch;
if (ch=='(') lev++;
if (ch==')') lev--;
}while(lev);
s[i++]='\0';
if (check()) printf("yes\n");
else printf("no\n");
}
return 0;
}
Code: Select all
22 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
20 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
10 (3
(2 (4 () () )
(8 () () ) )
(1 (6 () () )
(4 () () ) ) )
5 ()
0 ()
-1 (-1()())
77 (77(1()())())
-77 (-77()())
-7 (1 (-6 (2 (1 ()()) (-4 ()(1 (1 ()())(-1 ()())
) ) )
() ) () )
0 ()
3 (3 (4 (5 ()()) (8 (-3 (-7 ()())())(-4 ()(-8 ()()))))
(6 (6 (-5 ()())(-6 ()(-9 ()())))(7 ()())))
0 (1()
(-2 () (1()())))
1 (1 () (0 ()()) )
0 (0 ()())
8(8(2(1()())())())
8(8(3(7()())())())
4(4(2(4()())())())
5(5(4()(1(7(3()())(4()()))(4(3()())())))())
21(7()(5()(5()(4(1(7()())())()))))
47(7(9()(1(4()(7()(5(9(3(4(10()())())())(5(9(5(6(3(1(9()(2(3()(9(1(3(7()())(9()()))(9(5()(2()()))()))(7()())))(5(2()(6()(2()())))())))())(7()(2()(3()()))))(9()(10(4()(3()(4(3()(5()()))())))())))(3()()))())()))(6(10()())()))))()))())
24(9()(6()(1(2(9(8(7()())(1(1(7()())())(8()())))())(6(5(9()())())()))())))
15(8()(3(7(4(4()(9(6(3(3()())(9(3(3(8()())(7()()))())()))(3()()))()))())())(3(1(8(5(4(2()(4()(3(1()(10()(9()())))())))())(2()()))())())())))
18(4(9()())(1()(4()(9(3(9()(7()(8(6()())(5()(5()())))))(8(4()(1()()))()))()))))
38
(5
(6
(4
()()
)
(3
()()
)
)
(7
(2
(1
()()
)
(10
()
(9
(5
()()
)
(2
()()
)
)
)
)
()
)
)
77 (77(1()())())
77 (77(1()())())
77 (77 (1 () ()) (0 () ()) )
77 (77 () ())
3
(1
(1 (1 ()()) ())
(2 () ())
)
3
(1
(1 (2 ()()) ())
(2 () ())
)
5 ( 5 () 1 () ())
4 ( 2 (2 () 1()()) ())
Code: Select all
yes
no
yes
no
no
yes
no
yes
yes
no
yes
yes
yes
yes
no
no
no
no
no
no
no
no
no
yes
no
no
yes
yes
yes
yes
no
no