c#다이나믹프로그래밍

·Language/C#
문제재귀 호출만 생각하면 신이 난다! 아닌가요?다음과 같은 재귀함수 w(a, b, c)가 있다.if a 20 or b > 20 or c > 20, then w(a, b, c) returns: w(20, 20, 20)if a 위의 함수를 구현하는 것은 매우 쉽다. 하지만, 그대로 구현하면 값을 구하는데 매우 오랜 시간이 걸린다. (예를 들면, a=15, b=15, c=15)a, b, c가 주어졌을 때, w(a, b, c)를 출력하는 프로그램을 작성하시오.  코드int[,,] dp = new int[21, 21, 21];while (true){ string[] input = Console.ReadLine().Split(); int a = int.Parse(input[0]); int b..
·Language/C#
문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오.  코드int n = int.Parse(Console.ReadLine());int[] dp = new int[n + 1];dp[1] = 0;for (int i = 2; i   실행결과     문제링크: https://www.acmicpc.net/problem/1463
석영
'c#다이나믹프로그래밍' 태그의 글 목록