poj1654叉积求多边形面积

来源:互联网 发布:搜狗输入法mac怎么用 编辑:程序博客网 时间:2024/05/19 13:10

叉积求多边形面积

#include<stdio.h>
int a[10][2]={{0,0},{-1,-1},{0,-1},{1,-1},{-1,0},{0,0},{1,0},{-1,1},{0,1},{1,1}};//方向向量,想起了广搜的方向向量。。。

int main(){
 __int64 area;
 int i,n;
 char ch;
 int x1,y1,x2,y2;
 scanf("%d",&n);
 getchar();
 while(n--){
  area=0;x1=0;y1=0;
  while((ch=getchar())!='\0'){
   if(ch=='5') break;
   x2=x1+a[ch-'0'][0];
   y2=y1+a[ch-'0'][1];
   area+=x1*y2-x2*y1;
   x1=x2;
   y1=y2;
   
  }
  if(area<0)
  area=-area;
  printf(area%2==0?"%I64d\n":"%I64d.5\n",area/2);
 }
}

0 0
原创粉丝点击