File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import sys
2+ from itertools import combinations
3+
4+
5+ def main ():
6+ input = sys .stdin .readline
7+
8+ expression = str (input ().strip ())
9+ stack = []
10+ pair = []
11+
12+ for index , char in enumerate (expression ):
13+ if char == '(' :
14+ stack .append (index )
15+ elif char == ')' :
16+ start = stack .pop ()
17+ pair .append ((start , index ))
18+
19+ result = set ()
20+
21+ for i in range (1 , len (pair )+ 1 ):
22+ for comb in combinations (pair , i ):
23+ temp = list (expression )
24+ for s , e in comb :
25+ temp [s ] = temp [e ] = ''
26+ result .add ('' .join (temp ))
27+
28+ for res in sorted (result ):
29+ print (res )
30+
31+ if __name__ == '__main__' :
32+ main ()
Original file line number Diff line number Diff line change 1+ import sys
2+ input = sys .stdin .readline
3+
4+ def main ():
5+ N = int (input ())
6+ events = []
7+ for i in range (N ):
8+ x , r = map (int , input ().split ())
9+ events .append ((x - r , i , 0 ))
10+ events .append ((x + r , i , 1 ))
11+
12+ events .sort (key = lambda e : e [0 ])
13+
14+ for i in range (1 , len (events )):
15+ if events [i ][0 ] == events [i - 1 ][0 ]:
16+ print ("NO" )
17+ return
18+
19+ stack = []
20+ for _ , idx , typ in events :
21+ if typ == 0 :
22+ stack .append (idx )
23+ else :
24+ if not stack or stack [- 1 ] != idx :
25+ print ("NO" )
26+ return
27+ stack .pop ()
28+
29+ print ("YES" )
30+
31+ if __name__ == "__main__" :
32+ main ()
You can’t perform that action at this time.
0 commit comments