0
私はこのコードをC++からJavaへの機能的な方法で翻訳するのに助けが必要です。私はそれを自分で試しましたが、結果は常に0でした。それは切削の問題です。切削スティックの問題でC++コードをjavaに翻訳するのに役立ちます
#include <iostream>
#define MAXINT 2147483647
#define NCUTS 50
using namespace std;
int main() {
int len;
int nc;
int arr[NCUTS+2];
int dp[NCUTS+2][NCUTS+2];
while((cin >> len) && (len != 0)) {
cin >> nc;
for(int i=0; i<nc; i++) {
cin >> arr[i+1];
}
arr[0] = 0;
nc++;
arr[nc] = len;
for(int i=0; i<=NCUTS+1; i++) {
for(int j=0;j<=NCUTS+1;j++) {
dp[i][j] = MAXINT;
}
}
for(int i=0; i<=nc; i++) {
dp[i][i] = 0;
dp[i][i+1] = 0;
dp[i][i+2] = arr[i+2] - arr[i];
}
for(int k=3; k<=nc; k++) {
for(int i=0; i<=nc-k; i++) {
for(int j=i+1; j<=i+k-1; j++) {
if((dp[i][j] + dp[j][i+k] + arr[i+k] - arr[i]) < dp[i][i+k]) {
dp[i][i+k] = dp[i][j] + dp[j][i+k] + arr[i+k] - arr[i];
}
}
}
}
cout << "The minimum cutting is "<< dp[0][nc] << "." << endl;
}
}
Javaコードをポストする –