题解:

计算几何入门题

按逆时针方向访问三角形的边

然后作叉积判断点是否在边的顺时针方向

叉积和点积都有分配率 但不满足结合律

代码:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define rint register int
  4. #define IL inline
  5. #define rep(i,h,t) for (int i=h;i<=t;i++)
  6. #define dep(i,t,h) for (int i=t;i>=h;i--)
  7. #define me(x) memset(x,0,sizeof(x))
  8. #define mid ((h+t)>>1)
  9. namespace IO{
  10. char ss[<<],*A=ss,*B=ss;
  11. IL char gc()
  12. {
  13. return A==B&&(B=(A=ss)+fread(ss,,<<,stdin),A==B)?EOF:*A++;
  14. }
  15. template<class T>void read(T &x)
  16. {
  17. rint f=,c; while (c=gc(),c<||c>) if (c=='-') f=-; x=(c^);
  18. while (c=gc(),c>&&c<) x=(x<<)+(x<<)+(c^); x*=f;
  19. }
  20. };
  21. using namespace IO;
  22. struct Point{
  23. int x,y;
  24. Point(){};
  25. Point(int x1,int y1)
  26. {
  27. x=x1,y=y1;
  28. }
  29. Point operator +(const Point b)const
  30. {
  31. return Point(x+b.x,y+b.y);
  32. }
  33. Point operator -(const Point b)const
  34. {
  35. return Point(x-b.x,y-b.y);
  36. }
  37. int operator *(const Point b)const
  38. {
  39. return b.x*x+b.y*y;
  40. }
  41. int operator ^(const Point b)const
  42. {
  43. return x*b.y-y*b.x;
  44. }
  45. bool operator ==(const Point b)const
  46. {
  47. if (y==b.y&&x==b.x) return(); else return();
  48. }
  49. };
  50. struct Line{
  51. Point x,y;
  52. Line() {};
  53. Line(Point x1,Point y1)
  54. {
  55. x=x1,y=y1;
  56. }
  57. };
  58. int main()
  59. {
  60. int x1,y1,x2,y2,x3,y3,x,y;
  61. Point p1,p2,p3,p;
  62. read(x1); read(y1); p1=Point(x1,y1);
  63. read(x2); read(y2); p2=Point(x2,y2);
  64. read(x3); read(y3); p3=Point(x3,y3);
  65. read(x); read(y); p=Point(x,y);
  66. if (((p3-p1)^(p2-p1))>) swap(p3,p1);
  67. if (p==p1||p==p2||p==p3)
  68. {
  69. cout<<<<endl;
  70. exit();
  71. }
  72. int tt=;
  73. if (((p3-p1)^(p-p1))>) tt=;
  74. if (((p3-p1)^(p-p1))==) tt=;
  75. if (((p1-p2)^(p-p2))>) tt=;
  76. if (((p1-p2)^(p-p2))==) tt=;
  77. if (((p2-p3)^(p-p3))>) tt=;
  78. if (((p2-p3)^(p-p3))==) tt=;
  79. cout<<tt<<endl;
  80. return ;
  81. }

luogu1355 神秘大三角的更多相关文章

  1. 叉积_判断点与三角形的位置关系 P1355 神秘大三角

    题目描述 判断一个点与已知三角形的位置关系. 输入输出格式 输入格式: 前三行:每行一个坐标,表示该三角形的三个顶点 第四行:一个点的坐标,试判断该点与前三个点围成三角形的位置关系 (详见样例) 所有 ...

  2. 洛谷 P1355 神秘大三角(计算几何基础)

    P1355 神秘大三角 题目提供者yeszy 标签 福建省历届夏令营 难度 普及/提高- 题目描述 判断一个点与已知三角形的位置关系. 输入输出格式 输入格式: 前三行:每行一个坐标,表示该三角形的三 ...

  3. 洛谷 - P1355 - 神秘大三角 - 简单计算几何

    https://www.luogu.org/problemnew/show/P1355 判断一个点和三角形的位置关系,最简单的思路就是用向量. 首先排除掉和三角形顶点重合的情况. 把三角形设计成一个首 ...

  4. 【u027】神秘大三角

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 判断一个点与已知三角形的位置关系. [输入格式] 前三行:每行一个坐标,表示该三角形的三个顶点 第四行 ...

  5. luogu 1355 神秘大三角 判断点和三角形的位置关系 面积法 叉积法

    题目链接 题目描述 判断一个点与已知三角形的位置关系. 输入输出格式 输入格式: 前三行:每行一个坐标,表示该三角形的三个顶点 第四行:一个点的坐标,试判断该点与前三个点围成三角形的位置关系 (详见样 ...

  6. P1355 神秘大三角

    题目描述 判断一个点与已知三角形的位置关系. 输入输出格式 输入格式: 前三行:每行一个坐标,表示该三角形的三个顶点 第四行:一个点的坐标,试判断该点与前三个点围成三角形的位置关系 (详见样例) 所有 ...

  7. TYVJ计算几何

    今天讲了计算几何,发几道水水的tyvj上的题解... 计算几何好难啊!@Mrs.General....怎么办.... 这几道题都是在省选之前做的,所以前面的Point运算啊,dcmp啊,什么什么的,基 ...

  8. Codeforces Round #313 (Div. 2) C. Gerald&#39;s Hexagon(补大三角形)

    C. Gerald's Hexagon time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  9. MathType如何编辑大三角形符号

    MathType中包含的符号超过1000多个,可以满足我们很多学科的使用,尤其是数学中,涉及到很多的符号,常见的就是代数.几何这两大类,当然还有集合之类的符号使用也比较多.我们在用MathType编辑 ...

随机推荐

  1. Boost property_tree解析json

    使用Boost property_tree解析json 之前使用jsoncpp解析json,现在才知道boost就有解析的库,学习一下吧 property_tree可以解析xml,json,ini,i ...

  2. js模板引擎-art-template常用总结(转)

    原文:https://www.cnblogs.com/shiyou00/p/6841801.html art-template javascript 模板引擎,官网:https://github.co ...

  3. 024_nginx之backlog坑

    一. 线上碰到一个nginx调优的一个设置,即listen后面设置 listen 80 backlog=1024; 但是多个域名都设置这个值的时候就会出现以下的提示重复报错. 关于backlog参数的 ...

  4. 基于数组的循环队列(C++模板实现)

    循环队列使用数组实现的话,简单.方便.之前实现的队列,当尾端索引到达队列最后的时候,无论前面是否还有空间,都不能再添加数据了.循环队列使得队列的存储单元可以循环利用,它需要一个额外的存储单元来判断队列 ...

  5. ASP.NET MVC5高级编程 之 模型

    1. 为MVC Music Store建模 Models文件夹(右击) --> 添加 --> 类 为类添加对应的属性: public class Album { public virtua ...

  6. <转载>ford-fulkerson算法2

    原文链接https://www.cnblogs.com/luweiseu/archive/2012/07/14/2591573.html 作者:wlu 7. 网络流算法--Ford-Fulkerson ...

  7. django配置发送邮箱

    该邮箱配置后台发送邮箱验证使用 settings内配置 # 服务器地址 EMAIL_HOST = 'smtp.163.com' # 端口,邮箱默认动态端口 25 EMAIL_PORT = 25 # 邮 ...

  8. Jquery分享插件

    效果图如下: 代码如下: <!DOCTYPE HTML> <html style="padding-bottom: 54px;"> <head> ...

  9. python-基于UDP通信的套接字,socketserver模块的使用

    一.基于UDP协议通信的套接字 udp是没有链接的,所以先启动哪一端都不会报错 import socket server=socket.socket(socket.AF_INET,socket.SOC ...

  10. js之雪花飘落

    有很多网站都有雪花或花瓣飘落的特效,看上去很好看.我来用js实现这个效果. 在写代码之前可以先引入bass.css对样式做下处理: 1.html部分 先建一个文件夹,在body中插入如下代码 < ...