NYOJ67三角形面积 VS NYOJ68三点顺序
2013-04-15 21:14
423 查看
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=67
http://acm.nyist.net/JudgeOnline/problem.php?pid=68
题目分析:三角形的面积其实就是三个点组成的两个向量的叉乘的绝对值。因为如果三个点以顺时针方向给出,那么求出来就是正的,如果是逆时针就是负的。为什么呢。因为叉乘有方向性,满足右手定律。
67题的代码:
68题的代码:
#include<stdio.h>
int main()
{
int a[6];
double area;
while(scanf("%d %d %d %d %d %d",&a[0], &a[1], &a[2], &a[3], &a[4], &a[5]))
{
if(!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
break;
area = ((a[2] - a[0]) * (a[3] - a[5]) - (a[2] - a[4]) * (a[3] - a[1]));
if(area > 0.0)
printf("1\n");
else
printf("0\n");
}
return 0;
}另外,作为这两道题的延生,参看:http://blog.csdn.net/kay_zhyu/article/details/8805631
http://acm.nyist.net/JudgeOnline/problem.php?pid=68
题目分析:三角形的面积其实就是三个点组成的两个向量的叉乘的绝对值。因为如果三个点以顺时针方向给出,那么求出来就是正的,如果是逆时针就是负的。为什么呢。因为叉乘有方向性,满足右手定律。
67题的代码:
#include<stdio.h> #include<math.h> int main() { int a[6]; double area; while(scanf("%d %d %d %d %d %d",&a[0], &a[1], &a[2], &a[3], &a[4], &a[5])) { if(!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5]) break; area = ((a[2] - a[0]) * (a[3] - a[5]) - (a[2] - a[4]) * (a[3] - a[1])) / 2.0; printf("%.1lf\n",fabs(area)); } return 0; }
68题的代码:
#include<stdio.h>
int main()
{
int a[6];
double area;
while(scanf("%d %d %d %d %d %d",&a[0], &a[1], &a[2], &a[3], &a[4], &a[5]))
{
if(!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
break;
area = ((a[2] - a[0]) * (a[3] - a[5]) - (a[2] - a[4]) * (a[3] - a[1]));
if(area > 0.0)
printf("1\n");
else
printf("0\n");
}
return 0;
}另外,作为这两道题的延生,参看:http://blog.csdn.net/kay_zhyu/article/details/8805631
相关文章推荐
- nyoj815三角形(已知三角形的三边长或三顶点坐标求面积)&& nyoj68三点顺序(向量叉积)
- NYOJ-68 三点顺序 --有向面积
- NYOJ 题目68 三点顺序
- 【NYOJ67】三角形面积
- nyoj-68 三点顺序
- NYOJ-68:三点顺序
- nyoj-68-三点顺序-计算几何
- NYOJ 67 三角形面积
- nyoj题目67:三角形面积
- 三角形面积,三点顺序
- NYOJ-67:三角形面积
- nyoj 68 三点顺序
- NYOJ-68 三点顺序
- NYOJ 68 三点顺序
- nyoj 68 三点顺序
- NYOJ:67-三角形面积
- NYOJ67三角形面积
- nyoj 68 三点顺序
- nyoj 67 三角形面积(海伦公式)
- nyoj 68:三点顺序(计算几何)