1063. 計算譜半徑

在數學中,矩陣的“譜半徑”是指其特徵值的模集合的上確界。換言之,對於給定的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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章