本文主要是介绍作业1-224——P1927 防护伞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路
遍历一下找到两点间的最远距离,直接公式算结果,控制输出位数
参考代码
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int n;
cin>>n;
int x[n],y[n];
double len[n][n],minlen[n];
for(int i=0;i<n;i++)
{
cin>>x[i]>>y[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
len[i][j]=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));
minlen[i]=max(minlen[i],len[i][j]);
}
}
double min=30000;
for(int i=0;i<n;i++)
{
if(minlen[i]<min)
min=minlen[i];
}
double ans=min*min*3.1415926535;
cout<<setiosflags(ios::fixed)<<setprecision(4)<<ans;
return 0;
}
学会——setioflags(用处多)
setioflags(ios::fixed) 固定的浮点显示
setprecision(n) 设显示小数精度为n位
这篇关于作业1-224——P1927 防护伞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!