为什么我杭电 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
展开
 我来答
tanzhangwen
2012-08-07 · TA获得超过1136个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:906万
展开全部
题目的意思其实是找n个点中的三个点,使得它们构成的三角形面积最大
至于它说的移除相邻的三个点构成的三角形直到剩下最后一个,你会发现任意三个点组成的三角形都可以作为最后一个剩下,所以题目就转化为求三个点的最大三角形

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式