問題
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/10/ITP1_10_D (新しいタブで開く)
問題文
ミンコフスキー距離 の が のときの値を求めてね。
ちなみに
- のときはマンハッタン距離
- のときはユークリッド距離
- のときはチェビシェフ距離
となることが知られている。
制約
- 絶対誤差が 以下なら許容される
サンプル
I/O 1
3 1 2 3 2 0 4
4.000000 2.449490 2.154435 2.000000
考察
やるだけ。
コード
int main() { int n; cin >> n; vector<double> x(n), y(n); rep(i, n) cin >> x[i]; rep(i, n) cin >> y[i]; double manh = 0; double euc = 0; double minc_3 = 0; double cheb = 0; rep(i, n) { manh += abs(x[i] - y[i]); euc += pow(abs(x[i] - y[i]), 2); minc_3 += pow(abs(x[i] - y[i]), 3); cheb = max(cheb, abs(x[i] - y[i])); } euc = sqrt(euc); minc_3 = pow(minc_3, 1.0 / 3.0); cout << fixed << setprecision(10) << manh << endl << euc << endl << minc_3 << endl << cheb << endl; return 0; }