DP

백준[baekjoon]/JAVA

백준(baekjoon) [JAVA] - 11052번: 카드 구매하기

https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net import java.io.*; // 카드 구매하기 public class _11052 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new..

백준[baekjoon]/JAVA

백준(baekjoon) [JAVA] - 9095번: 1, 2, 3 더하기

https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net import java.io.*; // 1, 2, 3 더하기 public class _9095 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int[] arr = new..

백준[baekjoon]/JAVA

백준(baekjoon) [JAVA] - 11726번: 2xn 타일링

https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net import java.io.*; // 2xn 타일링 public class _11726 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputS..

백준[baekjoon]/JAVA

백준(baekjoon) [JAVA] - 1463번: 1로 만들기

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net import java.io.*; // 1로 만들기 public class _1463 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int x = Integer.parseInt(br.r..

백준[baekjoon]/C언어

백준(baekjoon) [Python] - 11051번: 이항 계수 2

https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net #include // 이항 계수 2 int dp[1001][1001]; void nCr(int n, int r) { dp[1][1] = 1; dp[1][0] = 1; for (int i = 2; i

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1149번: RGB거리

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net #include // RGB거리 int min(int x, int y) { return x < y ? x : y; } int arr[1001][4]; int dp[1001][4]; int main() { int n; scanf("%d", &n); for (int i = 1; i

백준[baekjoon]/C언어

백준(baekjoon) [C] - 11727번: 2xn 타일링 2

https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net #include // 2 x n 타일링 2 int dp[10008] = { 0, }; int main() { int n; scanf("%d", &n); dp[1] = 1; dp[2] = 3; for (int i = 3; i 규칙 찾고 점화식 생각해보기 !!

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1010번: 다리 놓기

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 값이 너무 커져서 구현 x { int t; scanf("%d", &t); unsigned long long int combination[30][30]; combination[1][0] = combination[1][1] = 1; for (int i = 2; i

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1149번: RGB거리

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net #include // RGB거리 int min(int x, int y) { return x < y ? x : y; } int arr[1001][4]; int dp[1001][4]; int main() { int n; scanf("%d", &n); for (int i = 1; i

백준[baekjoon]/C언어

백준(baekjoon) [C] - 11048번: 이동하기

https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net #include // 이동하기 #define max(a, b) a > b ? a : b int arr[1001][1001] = { 0, }; int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 1; i

_KTH_
'DP' 태그의 글 목록