タイトルの説明
数学では、行列の「スペクトル半径」は、その固有値のモジュールのセットの上限を指します。
言い換えると、与えられたn個の複素数空間固有値{a 1 + b 1 i、…、a n + b n i}に対して、
それらの係数は、実数部と虚数部の2乗の合計の平方根であり、「スペクトル半径」は最大係数です。
複素空間にいくつかの固有値が与えられたので、これらの固有値のスペクトル半径を計算して出力してください。
入力形式入力の
最初の行は、入力固有値の数である正の整数Nを示します。
次のN行では、各行が1つの固有値の実数部と虚数部をスペースで区切って示しています。
注:この質問は、実数部と虚数部が絶対値が1000を超えない整数であることを保証します。
出力形式
スペクトル半径を小数点以下2桁に四捨五入して1行で出力します。
入力例
5
0 1
2 0
-1 0
3 3
0 -3
サンプル出力
4.24
データ範囲
N≤10000
問題解決
数学:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
double ans;
int n, a, b;
int main()
{
cin >> n;
while(n --)
{
cin >> a >> b;
ans = max(ans, sqrt(a * a + b * b));
}
printf("%.2f", ans);
return 0;
}