1063. 計算譜半徑(20)
在數學中,矩陣的“譜半徑”是指其特征值的模集合的上确界。換言之,對于給定的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 <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
double num[10010];
int main(){
int N, a, b;
scanf("%d", &N);
for(int i = 0; i < N; i++){
scanf("%d%d", &a, &b);
num[i] = sqrt(a * a + b * b);
}
sort(num, num + N);
printf("%.2lf", num[N - 1]);
return 0;
}