在數學中,矩陣的“譜半徑”是指其特徵值的模集合的上確界。換言之,對於給定的n個複數空間的特徵值{a1+b1i, ..., an+bni},它們的模爲實部與虛部的平方和的開方,而“譜半徑”就是最大模。
現在給定一些複數空間的特徵值,請你計算並輸出這些特徵值的譜半徑。
輸入格式:
輸入第一行給出正整數N(<= 10000)是輸入的特徵值的個數。隨後N行,每行給出1個特徵值的實部和虛部,其間以空格分隔。注意:題目保證實部和虛部均爲絕對值不超過1000的整數。
輸出格式:
在一行中輸出譜半徑,四捨五入保留小數點後2位。
輸入樣例:5
0 1
2 0
-1 0
3 3
0 -3
輸出樣例:4.24
===========================================================================
挺水的……
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <cctype>
#include <sstream>
#include <map>
#include <set>
#include <vector>
#include <queue>
using namespace std;
int main()
{
int n;
double a,b,temp,maxn=0;
scanf("%d",&n);
while(n--)
{
scanf("%lf%lf",&a,&b);
temp = sqrt(a*a + b*b);
if(temp > maxn)
maxn = temp;
}
//maxn += 0.005;
printf("%.2lf\n",maxn);
return 0;
}