
为什么我杭电 2299WA了 是水题
#include<stdio.h>#include<math.h>intmain(){intn,i,a[55],b[55];doublesum;while(~scanf(...
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,a[55],b[55];
double sum;
while(~scanf("%d",&n))
{
if(n<3||n>50)
break;
sum=0;
for(i=0;i<n;i++)
scanf("%d%d",&a[i],&b[i]);
for(i=0;i<n-1;i++)
{
a[i]=a[i+1]-a[i];
b[i]=b[i+1]-b[i];
}
for(i=0;i<n-2;i++)
{
if(1.0*abs(a[i]*b[i+1]-b[i]*a[i+1])/2>sum)
sum=1.0*abs(a[i]*b[i+1]-b[i]*a[i+1])/2;
}
printf("%.1lf\n",sum);
}
return 0;
}
http://acm.hdu.edu.cn/showproblem.php?pid=2299 展开
#include<math.h>
int main()
{
int n,i,a[55],b[55];
double sum;
while(~scanf("%d",&n))
{
if(n<3||n>50)
break;
sum=0;
for(i=0;i<n;i++)
scanf("%d%d",&a[i],&b[i]);
for(i=0;i<n-1;i++)
{
a[i]=a[i+1]-a[i];
b[i]=b[i+1]-b[i];
}
for(i=0;i<n-2;i++)
{
if(1.0*abs(a[i]*b[i+1]-b[i]*a[i+1])/2>sum)
sum=1.0*abs(a[i]*b[i+1]-b[i]*a[i+1])/2;
}
printf("%.1lf\n",sum);
}
return 0;
}
http://acm.hdu.edu.cn/showproblem.php?pid=2299 展开
展开全部
题目的意思其实是找n个点中的三个点,使得它们构成的三角形面积最大
至于它说的移除相邻的三个点构成的三角形直到剩下最后一个,你会发现任意三个点组成的三角形都可以作为最后一个剩下,所以题目就转化为求三个点的最大三角形
显然你的求法只是求联系的三个点组成的最大三角形的面积,所以WA了
至于它说的移除相邻的三个点构成的三角形直到剩下最后一个,你会发现任意三个点组成的三角形都可以作为最后一个剩下,所以题目就转化为求三个点的最大三角形
显然你的求法只是求联系的三个点组成的最大三角形的面积,所以WA了

2025-08-07 广告
芯片发热量直接影响其热阻表现。发热量越大,芯片内部和封装材料的温度差就越明显,这会增加热量从芯片核心传导到外部环境的难度,从而增加热阻。热阻通常定义为温升与传导热量之比,当发热量增大时,如果散热路径和材料无法及时将热量传出,热阻数值也会相应...
点击进入详情页
本回答由庭田科技提供
展开全部
你用向量没有错 但是有问题 他点的坐标,题目没要求 是按顺时针或逆时针,实现需要点排序(我认为)。
追问
题目是说了顺时针的,但我不知道是不是要排序啊 还有怎么个排序我也不清楚啊
追答
题目并没有说 输入时按顺时针或逆时针排序 而是在题目描述中说的 说以你必须点排序 至于怎么排序,可以参照 http://zhidao.baidu.com/question/71333102.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询