zoukankan      html  css  js  c++  java
  • 三角形内部的整点的个数模板(非原创)

    题意:

    给出三角形的三个角的坐标,求出此三角形内部整数的个数。

    题解:

    s=l/2+n-1;
    s:三角形中包括边上整点的个数。
    l:边上的整点;
    n:三角形内部的点的个数。


     1 #include<cstdio>//s=l/2+n-1;
     2 #include<cmath>
     3 #include<cstdlib>
     4 int a,b,c,d,e,f;
     5 int area(){
     6     return abs((a*d+c*f+b*e-a*f-b*c-d*e)/2);
     7 }
     8 int gcd(int x,int y)
     9 {
    10     if(y==0)return x;
    11     else
    12         return gcd(y,x%y);
    13 }
    14 int main ()
    15 {
    16     int t;scanf("%d",&t);
    17     int k=0;
    18     while(t--)
    19     {
    20         scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
    21         int s=area();
    22         int l1=gcd(abs(a-c),abs(b-d));
    23         int l2=gcd(abs(a-e),abs(b-f));
    24         int l3=gcd(abs(c-e),abs(d-f));
    25         printf("CASE %d: %d
    ",++k,s-(l1+l2+l3)/2+1);
    26     }
    27     return 0;
    28 }
    View Code

    参考博客:http://blog.csdn.net/m___er/article/details/51676107

  • 相关阅读:
    super与this的比较
    队列学习小结
    最左原则
    show processlist
    循环
    打印偶数
    发布模块
    eval函数
    文件
    模块
  • 原文地址:https://www.cnblogs.com/zmin/p/8468851.html
Copyright © 2011-2022 走看看