POJ 1654 Area 多边形面积 G++会WA

#include<stdio.h>
#include<algorithm>
#include <cstring>
using namespace std; typedef long long ll;
const int MAXN = 1000008;
char s[MAXN];
int dx[] = {-1, -1, -1, 0, 0, 0, 1, 1, 1};
int dy[] = {-1, 0, 1, -1, 0, 1, -1, 0, 1}; int main()
{
// freopen("in.txt","r",stdin);
int T;
scanf("%d", &T);
while(T--)
{
scanf("%s", s);
int len = strlen(s);
int x, y, nx, ny;
x = y = 0;
ll ans = 0;
for(int i=0; i<len; i++)
{
nx = x + dx[s[i]-'1'];
ny = y + dy[s[i]-'1'];
ans += x*ny - y*nx;
x = nx;
y = ny;
}
if(ans < 0) ans = -ans;
printf("%I64d", ans / 2);
if(ans % 2 == 1) printf(".5");
puts("");
}
return 0;
}
上一篇:Unity3D游戏开发初探—2.初步了解3D模型基础


下一篇:ruby字符串学习笔记5