测试-本想牛刀小试没想到刀被砍卷刃了 一道小题 新手求指点 谢谢了

问题描述

本想牛刀小试没想到刀被砍卷刃了 一道小题 新手求指点 谢谢了

输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1, y1, x2, y2... xn, yn),为了简化问题,这里的所有坐标都用整数表示。
输入数据中所有的整数都在32位整数范围内,n=0表示数据的结束,不做处理。

Output
对于每个测试实例,请输出对应的多边形面积,结果精确到小数点后一位小数。
每个实例的输出占一行。

Sample Input
3 0 0 1 0 0 1
4 1 0 0 1 -1 0 0 -1
0

Sample Output
0.5
2.0
代码如下
#include
int f(int o)
{
if(o
{
o=-1*o;
}
return o;
}
int main()
{
int n,m=0;
int a[100];
int i=0,hight=0,wide=0;
float area=0,exc=0;
int maxy1=0,maxy2=0,maxx1=0,maxx2=0;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
m=2*n;
for(i=0;i
{
scanf("%d",&a[i]);
}
maxy2=maxy1=a[1];
for(i=1;i
{
if(maxy1{
maxy1=a[i];
}
if(maxy2>a[i])
{
maxy2=a[i];
}
i=i+2;
}
if(maxy1==maxy2)
{
hight=maxy1;
}
else
{
hight=f(maxy1)+f(maxy2);
}
maxx2=maxx1=a[0];
for(i=0;i
{
if(maxx1>a[i])
{
maxx1=a[i];
}
if(maxx2<a[i])
{
maxx2=a[i];
}
}
if(maxx2==maxx1)
{
wide=maxx1;
}
else
{
wide=f(maxx1)+f(maxx2);
}
area=wide*hight;
exc=0;
for(i=0;i<m;)
{
if((a[i]!=a[i+2]) && (a[i+1]!=a[i+3]))
{
exc=exc+f(a[i]-a[i+2])*(f(a[i+1])+f(a[i+3]))*0.5;
}
i=i+2;
}
if((a[0]!=a[m-2]) && (a[1]!=a[m-1]))
{
exc=exc+f(a[0]-a[m-2])*(f(a[1])+f(a[m-1]))*0.5;

    }
    area=area-exc;
    printf("%.1fn",area);
}
return 0;

}
////有在网上查过这道题用一个求多边行的公式来解决 可是最开始没没有知道这个公式于是自己想了用把图形填成长方形然后减去多余的面积的方法来做 (相比第一个办法这个确实好麻烦 - -)但是自己敲了这么多想知道是那里的问题好总结下经验 (测试数据已过)求大神指点一下 谢谢了 (代码有点多 再次感谢热心人 谢谢)

解决方案

http://blog.csdn.net/caiyunfreedom/article/details/8577597

时间: 2024-10-31 21:43:54

测试-本想牛刀小试没想到刀被砍卷刃了 一道小题 新手求指点 谢谢了的相关文章

IOS百度地图开发,在实现路线规划后,我想再放大或缩小地图,代码怎样实现的呢?新手求指教

问题描述 IOS百度地图开发,在实现路线规划后,我想再放大或缩小地图,代码怎样实现的呢?新手求指教 我用的Xcode7.3,百度SDK2.10,OC语言的,感谢!

我想做一个基于juddiv3的uddi订阅-可总是出这个问题-求帮助-谢谢

问题描述 我想做一个基于juddiv3的uddi订阅-可总是出这个问题-求帮助-谢谢 错误代码: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: At least one categoryBag, find_tModel or tModelBag must be supplied org.cod

我是名新手,想请问一下关于“无剑无我”的一道编程题的答案,谢谢

问题描述 ProblemDescription:北宋末年,奸臣当道,宦官掌权,外侮日亟,辽军再犯.时下战火连连,烽烟四起,哀鸿遍野,民不聊生,又有众多能人异士群起而反,天下志士云集响应,景粮影从.值此危急存亡之秋,在一个与世隔绝的地方---MCA山上一位江湖人称<英雄哪里出来>的人正在为抗击辽贼研究剑法,终于于一雷电交加之夜精确计算出了荡剑回锋的剑气伤害公式.定义f(x,y,m,n)=sqrt(x*x+y*y+m*m+n*n-2*m*x-2*n*y);hint:sqrt表示开方,即sqrt(4

你想过没,如果你的银行卡芯片掉了有啥危害?

本文讲的是你想过没,如果你的银行卡芯片掉了有啥危害?, 一个疑问引发的一场试验 最近,ABC 7公司的Jason Knowles问我:"如果你信用卡上的芯片掉了,会对安全性造成什么影响?恶意攻击者可以对此做什么?"当时我的第一反应是,"芯片怎么会从信用卡上掉出来呢?"我立即检查了我所有的银行卡,并快速地得出了一个结论:如果不是恶意为之,这种情况基本不可能发生.毕竟生产商把它密封地很严实,对吧? 但是令我惊讶的是,经过了一番研究后我发现,确实有一些文章和新闻报道过有芯

万万没想到:星际穿越是这样拍的!

万万没想到:星际穿越是这样拍的! 时间:2014-11-26 14:04 来源:电影娱情办 作者:何小沁 最近大热的<星际穿越>上映后,爆多解答术语和片中解密的文章,每天都能看到朋友圈各种刷屏各种科普,但就是没有说幕后的拍摄, 但是你能想到这电影用了非常少的电脑特效吗?几乎都是用传统胶卷机拍摄,飞船着陆的两个星球,都是在地球上实地拍摄的,去哪里找那么棒的场景!作为导演诺兰的脑残粉,今天来解密一下幕后的故事. "守旧导演"没3D爱胶片 没有满屏的电脑特效以及演员绿幕前&quo

马云心语:没想到会走到今天

摘要: 马云 关于挑战.路演. 谷歌 和阿里的秘密武器 文/秦朔 他的骨架也许是世界级企业家中最瘦的,他的体重也许是最轻的,但骨架上挑着的,一边是15年不变的伟大理想,一边是刚刚拿 马云 关于挑战.路演. 谷歌 和阿里的"秘密武器" 文/秦朔 他的骨架也许是世界级企业家中最瘦的,他的体重也许是最轻的,但骨架上挑着的,一边是15年不变的伟大理想,一边是刚刚拿到的美国股票发行史上规模最大的资金.而让理想和财富形成互动的,是 马云 这个清奇无比的大脑以及他领导的2.5万人团队的超常努力. 纽

本以为灰指甲已经治好,没想到停药后更加严重

本以为灰指甲已经治好,没想到停药后更加严重 5年前,夏先生感染了灰指甲,2011年底他选择哈尔滨乐泰药业的"亮甲"进行治疗.经过一年多的治疗,花费了一万多元,灰指甲终于没了,夏先生停下药准备观察一段时间.谁知过了两个月,情况恶化了,刚刚变成粉嫩的新指甲,又变回了灰指甲. 不忍心拔指甲,选择亮甲治疗 2007年,夏先生发现自己左右手各有两个指甲,长得较其它指甲突出厚重,且颜色发灰,他意识到自己可能是感染上了灰指甲.听说灰指甲是真菌感染所致,夏先生担心传染给家人,于是开始四处用药治疗灰指甲

专家谈零售大数据:以前没想到能做的现在可以做了

国内第一代大数据创业家柏林森先生是国内大数据技术和实践的先驱,先后创立百分点科技.信柏科技两家大数据公司,是中关村高端领军人才.海淀区创业领军人才.中关村十大海归新星.现在柏林森先生正领导"信柏科技"致力于"用消费大数据来帮助线下零售业O2O转型"的事业,零售行业内大数据标杆性项目--朝阳大悦城大数据体系系统就是由柏林森先生领导的大数据团队助力而完美落地的. 在最近的亚太零售创新峰会2014上,柏林森先生发表了关于"零售大数据"的独特又深刻的演讲

NoSQL与SQL谁会笑到最后?结局万没想到

文章讲的是NoSQL与SQL谁会笑到最后,结局万没想到,在NoSQL热潮之后,我们看到了新旧数据库之间的碰撞.多年以来,我们看到了传统数据库和新型数据库之间的市场分裂.根据Gartner所言,这两个世界都在进行着进一步的巩固.正如Gartner分析师Nick Huedecker所言,每周都有很多SQL进入NoSQL数据库的子市场.以NoSQL作为两个市场分界线的人已经越来越少了.也就是说,其实传统数据库和新型数据库正在逐渐融合. 然而,巩固市场并不是Gartner预测的全部.即便融合,NoSQL