Skip to content

Commit 239e997

Browse files
Merge pull request #725 from baekhangyeol/main
[백한결] 114차 라이브 코테 제출
2 parents cd62198 + 7608b79 commit 239e997

2 files changed

Lines changed: 64 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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()
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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()

0 commit comments

Comments
 (0)