Skip to content

Commit f2900bf

Browse files
authored
Merge pull request #63 from YoonYn9915/main
YoonYn9915 / 9월 4주차 / 2문제
2 parents 54611fe + 186f75b commit f2900bf

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
N = int(input())
3+
A, B = map(int, input().split())
4+
M = int(input())
5+
graph = [[] for _ in range(N+1)]
6+
visited = [False] * (N+1)
7+
result = []
8+
9+
for _ in range(M):
10+
x, y = map(int, input().split())
11+
graph[x].append(y)
12+
graph[y].append(x)
13+
14+
# dfs
15+
def dfs(v, num):
16+
num += 1
17+
visited[v] = True
18+
19+
if v == B:
20+
result.append(num)
21+
22+
for i in graph[v]:
23+
if not visited[i]:
24+
dfs(i, num)
25+
26+
dfs(A, 0)
27+
if len(result) == 0:
28+
print(-1)
29+
else:
30+
print(result[0]-1)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
def dfs(level, total, plus, minus, mul, div):
3+
global max_result
4+
global min_result
5+
global n
6+
7+
#종료 조건
8+
if level == n:
9+
max_result = max(total, max_result)
10+
min_result = min(total, min_result)
11+
12+
if plus != 0:
13+
dfs(level + 1, total + nums[level], plus - 1, minus, mul, div)
14+
if minus != 0:
15+
dfs(level + 1, total - nums[level], plus, minus - 1, mul, div)
16+
if mul != 0:
17+
dfs(level + 1, total * nums[level], plus, minus, mul - 1, div)
18+
if div != 0:
19+
dfs(level + 1, int(total / nums[level]), plus, minus, mul, div - 1)
20+
21+
22+
n = int(input())
23+
nums = list(map(int, input().split()))
24+
op = list(map(int, input().split()))
25+
26+
max_result = -int(1e9)
27+
min_result = int(1e9)
28+
dfs(1, nums[0], op[0], op[1], op[2], op[3])
29+
30+
print(max_result)
31+
print(min_result)

0 commit comments

Comments
 (0)