给定n个金条,找到适合容量W的金的最大重量
第一行包含背包的容量W和金条的数量n.下一行包含n个整数
适合容量为W的背包的最大黄金重量.
1 <= W <= 10000; 1 <= n <= 300; 0 <= w0,w1,w2,...,w(n-1)<= 100000
#include <iostream>
#include <vector>
using std::vector;
int optimal_weight(int W, vector<int> w) {
int n = w.size() + 1;
int wt = W + 1;
int array [n][wt];
int val = 0;
for(int i = 0; i < wt; i++) array [0][i] = 0;
for(int i = 0; i < n; i++) array …Run Code Online (Sandbox Code Playgroud) c++ arrays algorithm dynamic-programming multidimensional-array
假设我有一个函数来计算一对点之间的欧几里德距离.point并且point_pair是两个结构定义为:
struct point {
int x, y;
}
Run Code Online (Sandbox Code Playgroud)
和
struct point_pair {
point a, b;
}
Run Code Online (Sandbox Code Playgroud)
以下函数计算将一对点作为输入的距离:
double calc_distance(point_pair pair)
{
return (sqrt((pair.a.x - pair.b.x) * (pair.a.x - pair.b.x) + (pair.a.y - pair.b.y) * (pair.a.y - pair.b.y)));
}
Run Code Online (Sandbox Code Playgroud)
该函数适用于小点对值; 但对于点对,例如:
651760491 595516649
716636914 955747792
Run Code Online (Sandbox Code Playgroud)
输出是 -nan
我不知道如何解决这个问题,还有什么我应该用来代替双重的吗?
以下是整个代码:https://pastebin.com/5XEr9bTD