https://www.acmicpc.net/problem/1916코드const fs = require("fs");const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";const input = fs.readFileSync(filePath).toString().trim().split("\n");const n = +input[0];const m = +input[1];const path = Array.from(new Array(n + 1), () => new Array(n + 1).fill(Infinity));for (let i = 1; i +item); if (path[start][end] > cost) { path..
전체 글
https://www.acmicpc.net/problem/22856 코드const fs = require("fs");const filePath = process.platform === "linux" ? "dev/stdin" : "./input.txt";const [n, ...arr] = fs .readFileSync(filePath) .toString() .trim() .split(/\s/) .filter((item) => item != "") .map((item) => +item);const graph = Array.from(Array(n + 1), () => new Array(2).fill(-1));for (let i = 0; i { if (graph[now][0] !== -1 && !..
https://www.acmicpc.net/problem/2659 코드input_nums = list(map(int, input().split()))def get_clock_num(nums): res = 10000 for start in range(4): num = 0 for i in range(4): num += nums[(start+i) % 4]*(10**(3-i)) res = min(num, res) return resclock_nums = set()for a in range(1, 10): q = [a] for b in range(1, 10): q.append(b) for c in range..
https://www.acmicpc.net/problem/15558 코드from collections import dequen, k = map(int, input().split())game_map = []for _ in range(2): game_map.append("0"+input())q = deque([(0, 1, 1)])visited = [[False]*(n+1) for _ in range(2)]visited[0][1] = Truewhile q: line, num, sec = q.popleft() for nx_line, nx_num in [(line, num+1), (line, num-1), (line ^ 1, num+k)]: if nx_num > n: ..
https://www.acmicpc.net/problem/1719코드import sysinput = sys.stdin.readlineINF = int(1e9)n, m = map(int, input().split())graph = [[INF]*(n+1) for _ in range(n+1)]path_table = [["-"]*(n+1) for _ in range(n+1)]for i in range(1, n+1): graph[i][i] = 0for _ in range(m): a, b, t = map(int, input().split()) graph[a][b] = t graph[b][a] = t path_table[a][b] = b path_table[b][a] = afor k ..
https://www.acmicpc.net/problem/11057코드n = int(input())dp = [[0]*10 for _ in range(n+1)]# 초기화for i in range(10): dp[1][i] = 1# DPfor i in range(2, n+1): dp[i][0] = 1 for j in range(1, 10): dp[i][j] = dp[i-1][j]+dp[i][j-1]print(sum(dp[n]) % 10007) N자리 오르막 수의 개수는 DP를 이용하면 많은 시간을 들이지 않고도 구할 수 있다.N자리 오르막 수는 (N-1)자리 오르막 수에서 가장 오른쪽의 수와 같거나 그보다 큰 수를 오른쪽에 하나 붙이면 만들 수 있다. 예를 들어, 1234라는 4자..