• poj 1265 Area 夜


    http://poj.org/problem?id=1265
    pick定理
    对于方格点形成多边形
    面积=(内点)+(边上点/2)-1
    线段边上点数为(两点横坐标距离,两点纵坐标距离)的最大公约数 再加一
    对于本题来说 再加一的话 到最后还得剪掉 因为会重复计算 所以直接不加一就可以
    面积的求法 就是把多边形分割成多个三角形 需要自己动手画画
    #include
    <iostream> #include<cmath> #include<string> #include<algorithm> #include<cstring> #include<cstdio> 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<n;++i) { cin>>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<n;++i) { sum=sum+(mem[i].x*mem[i+1].y-mem[i+1].x*mem[i].y); sidepointsum+=gcd(abs(mem[i].x-mem[i+1].x),abs(mem[i].y-mem[i+1].y)); } sum=sum/2.0; printf("Scenario #%d:\n",w); printf("%d %d %.1f\n\n",((int)(sum)+1)-sidepointsum/2,sidepointsum,sum); } return 0; }
  • 相关阅读:
    当模型验证未通过时,获取未通过验证的属性
    在ASP.Net MVC中进行身份认证
    c#生成验证码
    HTTP与FTP状态码
    VUEX
    JS模块化
    Vue.JS入门下
    flex布局
    asp.net Web API
    JWT加密解密
  • 原文地址:https://www.cnblogs.com/liulangye/p/2492791.html
Copyright © 2020-2023  润新知