计算几何————洛谷P1222 三角形

题目大意:
        给出一些点要你判断一条直线上最多可能有几个点

思路:
    本来觉得求叉积可能会超时,毕竟n《=700,但是直到(我膝盖中了一箭)我写出叉积的程序交上去后才发现居然没有超时。。。。。。
核心代码:
    
 

int cj(int xx,int y,int z)
    {
      return(x[y].x-x[xx].x)*(x[z].y-x[xx].y)-(x[z].x-x[xx].x)*(x[y].y-x[xx].y);   
}
 
//x数组是记录点的位置
main:
for(i=1;i
      {
   
        for(j=i+1;j
          {sum=0;
    for(k=j+1;k<=n;k++)
            {
            if(cj(i,j,k)==0)sum++;
            if(sum>ans)
                ans=sum;
    }
          }
  }  
     
反思:
    这是计算几何中我做的第一题,有些东西没有论证过就写上去,交了好几次才ac所以以后应该好好理顺思路

你可能感兴趣的:(计算几何————洛谷P1222 三角形)