✅ 使用动态规划解决跳木桩问题
This commit is contained in:
		
							
								
								
									
										19
									
								
								jumping-wooden-trunk/main.cc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								jumping-wooden-trunk/main.cc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | #include <iostream> | ||||||
|  | using namespace std; | ||||||
|  | const int MAXN = 105; | ||||||
|  | int dp[MAXN], arr[MAXN]; | ||||||
|  | int main() { | ||||||
|  |   int n; | ||||||
|  |   cin >> n; | ||||||
|  |   for (int i = 1; i <= n; i++) { | ||||||
|  |     cin >> arr[i]; | ||||||
|  |     dp[i] = n - 1; | ||||||
|  |   } | ||||||
|  |   dp[1] = 0; | ||||||
|  |   for (int i = 1; i <= n; i++) { | ||||||
|  |     for (int j = i + 1; j <= i + arr[i] && j <= n; j++) { | ||||||
|  |       dp[j] = min(dp[j], dp[i] + 1); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   cout << dp[n] << endl; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user