pick定理 对于方格点形成多边形 面积=(内点)+(边上点/2)-1 线段边上点数为(两点横坐标距离,两点纵坐标距离)的最大公约数 再加一 对于本题来说 再加一的话 到最后还得剪掉 因为会重复计算 所以直接不加一就可以 面积的求法 就是把多边形分割成多个三角形 需要自己动手画画 #include #include #include #include #include #include using namespace std;const int N=105;structnode{ int x,y;}mem[N];int gcd(int x,int y){ if(y==0) return x; return gcd(y,x%y);}int main(){ int T; cin>>T; for(int w=1;w<=T;++w) { int n; cin>>n; for(int i=0;i >mem[i].x>>mem[i].y; if(i) { mem[i].x+=mem[i-1].x; mem[i].y+=mem[i-1].y; } } mem[n].x=mem[0].x; mem[n].y=mem[0].y; double sum=0.0; int sidepointsum=0; for(int i=0;i