巨人网络2018校招在线笔试-代码题 发表于 2017-09-11 | 分类于 笔试 , 巨人网络 题目描述给定一个三角形 ABC,一点 P,求 P 是否在三角形 ABC 内部题解思路 点 P 和点 C 在 向量 AB 同侧 点 P 和点 B 在 向量 AC 同侧 点 P 和点 A 在 向量 BC 同侧 1234567891011121314151617181920212223int crossPro(int o[2],int p1[2],int p2[2]){ int u[]={p1[0]-o[0],p1[1]-o[1]}; int v[]={p2[0]-o[0],p2[1]-o[1]}; return u[0]*v[1]-u[1]*v[0];}bool sameSide(int ls[2],int le[2],int p1[2],int p2[2]){ int cP[2]; cP[0]=crossPro(ls,le,p1); cP[1]=crossPro(ls,le,p2); return cP[0]*cP[1]>0;}bool inner(int triangle[3][2],int p[2]){ bool sS[3]; sS[0]=sameSide(triangle[0],triangle[1],triangle[2],p); sS[1]=sameSide(triangle[0],triangle[2],triangle[1],p); sS[2]=sameSide(triangle[1],triangle[2],triangle[0],p); return sS[0]&&sS[1]&&sS[2];} 本文作者: Xiao Weicheng 本文链接: http://bestmind.space/posts/巨人网络2018校招在线笔试-代码题/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!