本文主要是介绍POJ 1654 Area (多边形面积),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://poj.org/problem?id=1654
用整数即可。
/*16ms,916KB*/#include<cstdio>
const int dx[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1};
const int dy[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1};char s[1000005];int main()
{int T, x, y, i, dir;long long area;scanf("%d\n", &T);while (T--){gets(s);x = y = 0;area = 0;for (i = 0; s[i]; ++i){dir = s[i] - '1';area += x * dy[dir] - y * dx[dir];x += dx[dir];y += dy[dir];}if (area < 0) area = -area;if (area & 1) printf("%lld.5\n", area >> 1);else printf("%lld\n", area >> 1);}return 0;
}
这篇关于POJ 1654 Area (多边形面积)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!