2つのデータがどれだけ似ているかを、それらの距離で測る手法は、クラスタリングや分類など、様々なところで使われています。ここでは、2つの $n$ 次元ベクトル $x = \{x_1, x_2, ..., x_n\}$ と $y = \{y_1, y_2, ..., y_n\}$ の距離を計算してみましょう。
このようなデータの距離を測る指標のひとつとして、次のミンコフスキー距離が知られています。
\[
D_{xy} = (\sum_{i=1}^n |x_i - y_i|^p)^{\frac{1}{p}}
\]
$p = 1$ のとき
\[
D_{xy} = |x_1 - y_1| + |x_2 - y_2| + ... + |x_n - y_n|
\]
となり、これはマンハッタン距離とよばれます。
$p = 2$ のとき
\[
D_{xy} = \sqrt{(|x_1 - y_1|)^{2} + (|x_2 - y_2|)^{2} + ... + (|x_n - y_n|)^{2}}
\]
となり、これは一般的に使われるユークリッド距離になります。
$p = \infty$ のとき
\[
D_{xy} = max_{i=1}^n (|x_i - y_i|)
\]
となり、これはチェビシェフ距離と呼ばれます。
2つの $n$ 次元ベクトルが与えられるので、$p$ がそれぞれ 1、2、3、$\infty$ のミンコフスキー距離を求めるプログラムを作成してください。
1行目に整数 $n$ が与えられます。2行目にベクトル $x$ の要素 $\{x_1, x_2, ... x_n\}$、3行目にベクトル $y$ の要素 $\{y_1, y_2, ... y_n\}$ が空白区切りで与えられます。入力はすべて整数値です。
$p$ がそれぞれ 1、2、3、$\infty$ の順番にそれぞれ1行に距離を出力してください。ただし、0.00001 以下の誤差があってもよいものとします。
3 1 2 3 2 0 4
4.000000 2.449490 2.154435 2.000000