POJ 1654 Area 多边形面积
2013-08-29 10:35
281 查看
注意这题 多边形有凹有凸。
水题。不解释
View Code
水题。不解释
View Code
#include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<stdlib.h> #define lld __int64 using namespace std; struct point { lld x, y; }p[1000003]; lld cal(int n, point *p) { int i; lld s = 0; p = p[0]; for(i = 0; i < n; i++) s += p[i].y * p[i+1].x - p[i].x * p[i+1].y; return abs(s); } lld dir[10][2] = {0, 0, 1, -1, 0, -1, -1, -1, 1, 0, 0, 0, -1, 0, 1, 1, 0, 1, -1, 1}; char str[1000003]; int main() { int i, j, cas; scanf("%d", &cas); while( cas--) { p[0].x = 0; p[0].y = 0; int num = 0; scanf("%s", str); char c; int len = strlen(str); for(i = 0; i < len; i++) { int k = str[i] - '0'; if(k == 5) break; p[num+1].x = p[num].x + dir[k][0]; p[num+1].y = p[num].y + dir[k][1]; num++; } if(p[num].x == 0 && p[num].y == 0) { lld ans = cal(num, p); if( ans & 1 ) printf("%I64d.5\n", ans/2); else printf("%I64d\n", ans/2); } else printf("0\n"); } return 0; }
相关文章推荐
- poj 1654:Area 区域 ---- 叉积(求多边形面积)
- POJ 1654 Area [多边形面积]
- POJ 1654 Area 多边形面积
- POJ 1654 Area(多边形面积)
- poj 1654 Area(叉积求多边形面积)
- POJ 1654 || Area(求多边形面积
- poj 1654 area 简单多边形面积(简单题)
- poj 1654 Area(多边形面积)
- Area - POJ 1654(求多边形面积)
- poj 1654 Area 多边形面积
- POJ 1654 Area (计算多边形面积)
- [POJ1654]Area(计算几何-多边形的面积)
- POJ 1654 Area (多边形面积)
- POJ 1654 Area 求多边形的面积
- POJ 1654 Area(差积求多边形面积)
- Area(poj1654多边形面积)
- poj 1654 Area 多边形面积
- poj1654—Area(计算几何求多边形面积)
- 叉乘计算多边形面积:poj 1654 Area
- POJ1654 Area(多边形面积,叉积求三角形面积)