본문 바로가기

Algorithm29

[BAEKJOON] 11401번: 이항 계수 3 11401번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import sys input=sys.stdin.readline n, k=map(int, input().split()) fac=[1, 1]; mod=1000000007 for i in range(2, n+1): fac.append((fac[-1]*i)%mod) def modPow(a, n, p): if n==0: return 1 res=modPow(a*a%p, n//2, p) if n&1: res=res*a%p return res print(fac[n]*modPow(fac[k]*fac[n-k], mod-2, mod)%mod) 2021. 11. 3.
[BAEKJOON] 2178번: 미로탐색 2178번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. from collections import deque N, M = map(int, input().split()) graph = [] for _ in range(N): graph.append(list(map(int, input()))) def bfs(x, y): dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] # deque 생성 queue = deque() queue.append((x, y)) while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx = N or ny < 0.. 2021. 10. 26.
[BAEKJOON] 1260번: DFS와 BFS 1260번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. from sys import stdin n, m, v = map(int, stdin.readline().split()) matrix = [[0] * (n + 1) for _ in range(n + 1)] for _ in range(m): line = list(map(int, stdin.readline().split())) matrix[line[0]][line[1]] = 1 matrix[line[1]][line[0]] = 1 def bfs(start): visited = [start] queue = [start] while queue: n = queue.pop(0) for c in range(len(matrix[st.. 2021. 10. 26.
[BAEKJOON] 10828번: 스택 10828번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 C++언어로 구현하였다. import sys input=sys.stdin.readline n = int(input()) #명령의 수 stack=[] def push(x): #리스트의 마지막에 추가 stack.append(x) #딱히 int(x)할 필요는 없을 듯 def pop(): if(len(stack)==0): print(-1) else: print(stack.pop()) def size(): print(len(stack)) def empty(): if(len(stack)==0): #비면 print(1) else: #안 비면 print(0) def top(): if(len(stack)==0): print(-1) else: print(sta.. 2021. 9. 30.
[BAEKJOON] 1874번: 스택 수열 1874번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import sys input = sys.stdin.readline #입력값 N N = int(input()) #스택 stack = [] #스택에 넣는 값 count = 1 #결과를 모으는 리스트 result = [] for i in range(N): #값 입력 num = int(input()) #num값까지 스택에 push while count 2021. 9. 30.
[BAEKJOON] 1074번: Z 1074번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 C++언어로 구현하였다. #include using namespace std; int n, r, c; int ans; void Z(int y, int x, int size) { if (y == r && x == c) { cout = x) { // 1사분면 탐색 Z(y, x, size / 2); // 2사분면 탐색 Z(y, x + size / 2, size / 2); // 3사분면 탐색 Z(y + size / 2, x, size / 2); // 4사분면 탐색 Z(y + size / 2, x + size / 2, size / 2); } else { ans += size * size; } } int main() { ios_base::sync_with.. 2021. 9. 27.