diff --git a/백준/1111.py b/백준/1111.py new file mode 100644 index 0000000..9cd831e --- /dev/null +++ b/백준/1111.py @@ -0,0 +1,57 @@ +import sys + +input = sys.stdin.readline + +n = int(input()) +arr = list(map(int, input().split())) + +if(n==1): + print('A') +elif(n==2): + print('A') +elif(arr[1]==arr[0]): + flag = False + for i in range(1, n): + if(arr[i]!=arr[0]): + flag = True + if flag: + print('B') + else: + print(arr[0]) +elif(n>2 and arr[2]-arr[1] == arr[1]-arr[0]): + d = arr[1]-arr[0] + flag = False + for i in range(1, n): + if(arr[i]-arr[i-1]!=d): + flag = True + if flag: + print('B') + else: + print(arr[n-1]+d) +elif(n>2 and arr[2]//arr[1] == arr[1]//arr[0]): + d = arr[1]//arr[0] + if(arr[1]/arr[0] < 1 and arr[1]*arr[0]<0): + print('B') + exit() + flag = False + for i in range(1, n): + if(arr[i]//arr[i-1]!=d): + flag = True + if flag: + print('B') + else: + print(arr[n-1]*d) +else: + if (arr[1] - arr[0]) == 0: + print('B') + exit() + a = (arr[2] - arr[1]) // (arr[1] - arr[0]) + b = (arr[2] + arr[1] - (arr[1] + arr[0]) * a) // 2 + flag = False + for i in range(1, n): + if arr[i] != arr[i - 1] * a + b: + flag = True + if flag: + print('B') + else: + print(arr[n - 1] * a + b) diff --git a/백준/1167.py b/백준/1167.py new file mode 100644 index 0000000..d75492c --- /dev/null +++ b/백준/1167.py @@ -0,0 +1,12 @@ +import sys + +V = sys.stdin.readline().rstrip() +V = int(V) +arr = [[] * V for i in range(V)] +result = [V for i in range(V)] + +for i in range (V): + arr[i]=(list(map(int, input().split()))) + +for i in range(V): + arr[i]= diff --git a/백준/1238.py b/백준/1238.py new file mode 100644 index 0000000..2795456 --- /dev/null +++ b/백준/1238.py @@ -0,0 +1,39 @@ +import sys +import heapq + +sys.setrecursionlimit(10**6) +input = sys.stdin.readline + +N, M, X = map(int, input().split()) # 학생수, 총 도로수, 가야하는 마을 +graph = [[] for i in range(N+1)] + +for _ in range(M): + a, b, c = map(int, input().split()) + graph[a].append((b, c)) + + +def dijkstra(start): + dist = [sys.maxsize] * (N+1) + q = [] + heapq.heappush(q, (0, start)) + dist[start] = 0 + while q: + distance, now = heapq.heappop(q) + if dist[now]total: + print(-1) +else: + result = [] + while N > 0 and M > 0: + count = math.comb(N+M-1, N-1) + if K<=count: + result.append('a') + N -= 1 + else: + result.append('z') + M -= 1 + K -= count + + result.extend(["a"] * N) + result.extend(["z"] * M) + + print("".join(result)) + \ No newline at end of file diff --git a/백준/1325.py b/백준/1325.py new file mode 100644 index 0000000..41da918 --- /dev/null +++ b/백준/1325.py @@ -0,0 +1,27 @@ +import sys +from collections import deque + +N, M = map(int, input().split()) + +arr=[[] * N for i in range(N)] +visited = [False] * (N+1) +maxarr = [0] * (N+1) +graph = dict() + +for i in range(M): + A, B = map(int, input().split()) + graph[A] = B + +def DFS(graph, start): + visited.append(start) + for node in graph[start]: + if node not in visited: + DFS(graph, node, visited) + return visited + +DFS(graph, 1) + + + + +