半径为r的圆上有n个不重复的点,请你帮daxia计算这些点能构成多少个不同的锐角三角形.

Input

测试包含多组数据,每组数据第一行包含两个整数:n(1<=n<=20000),r(1<=r<=20000).

接下来包含n行,每行包含一个整数x(-r<=x<=r)和一个不等式"y<=0"或"y>=0".

Output

每组数据输出一行一个整数表示锐角三角形的总个数.

Sample Input

6 2
0 y<=0
1 y<=0
2 y<=0
-2 y>=0
-1 y>=0
0 y>=0

Sample Output

2

Hint

直接计算锐角三角形的个数比较困难,所以考虑反面,用全部的三角形减去直角和钝角的就是答案。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,m;
char s[N];struct point
{int x,y;point(int x=0,int y=0):x(x),y(y){}bool operator<(const point&a)const{return y==a.y?x*y>a.x*y:y>a.y;}
}a[N];int main()
{while (~scanf("%d%d",&n,&m)){for (int i=1;i<=n;i++){scanf("%d%s",&a[i].x,s);if (s[1]=='<') a[i].y=-1; else a[i].y=1;}sort(a+1,a+n+1);long long ans=1LL*n*(n-1)*(n-2)/6;for (int i=1;i<=n;i++){if (a[i].y==1){int r=upper_bound(a+1,a+n+1,point(-a[i].x,-a[i].y))-a-i-1;ans-=1LL*r*(r-1)/2;}else {int r=upper_bound(a+1,a+n+1,point(-a[i].x,-a[i].y))-a-1+n-i;ans-=1LL*r*(r-1)/2;}}cout<<ans<<endl;}return 0;
}

FZU 2242 Daxia like acute triangle相关推荐

  1. FZU 2242 - Daxia like acute triangle

     Problem 2242 Daxia like acute triangle Accept: 26    Submit: 99 Time Limit: 1000 mSec    Memory Lim ...

  2. E - Daxia like acute triangle 【组合数】

    半径为r的圆上有n个不重复的点,请你帮daxia计算这些点能构成多少个不同的锐角三角形. Input 测试包含多组数据,每组数据第一行包含两个整数:n(1<=n<=20000),r(1&l ...

  3. FZU 2240 Daxia Suneast's problem

    博弈,$SG$函数,规律,线段树. 这个问题套路很明显,先找求出$SG$函数值是多少,然后异或起来,如果是$0$就后手赢,否则先手赢.修改操作和区间查询的话可以用线段树维护一下区间异或和. 数据那么大 ...

  4. fzu 2238 Daxia Wzc's problem

    Problem 2238 Daxia & Wzc's problem Accept: 38    Submit: 136 Time Limit: 1000 mSec    Memory Lim ...

  5. FZU 2238 Daxia Wzc's problem

    Daxia在2016年5月期间去瑞士度蜜月,顺便拜访了Wzc,Wzc给他出了一个问题: Wzc给Daxia等差数列A(0),告诉Daxia首项a和公差d; 首先让Daxia求出数列A(0)前n项和,得 ...

  6. FZU 2238 Daxia Wzc's problem【规律+lucas】

    Daxia在2016年5月期间去瑞士度蜜月,顺便拜访了Wzc,Wzc给他出了一个问题: Wzc给Daxia等差数列A(0),告诉Daxia首项a和公差d; 首先让Daxia求出数列A(0)前n项和,得 ...

  7. FZU 2238 - Daxia Wzc's problem(Lucas)

    Problem 2238 Daxia & Wzc's problem Accept: 42    Submit: 166 Time Limit: 1000 mSec    Memory Lim ...

  8. fzu 2244 Daxia want to buy house

    http://acm.fzu.edu.cn/problem.php?pid=2244 很简单的水题,但是就是过不去,问题出在在C中,对于int型 *0.7和 *7/10是会出现精度上的问题. #inc ...

  9. FZU - 2243 - Daxia like uber (单源最短路)

     Problem 2243 Daxia like uber Accept: 43    Submit: 115 Time Limit: 1000 mSec    Memory Limit : 3276 ...

最新文章

  1. 简单截屏恶搞程序(客户端+服务端)
  2. 关于表达式i+++i+++i++有感
  3. 请求失败或服务未及时响应 有关详细信息_微服务治理与统计分析
  4. 刘强东卸任京东集团CEO!接任人是他...
  5. hadoop-集群安装
  6. 精进Spring—Spring常用注解【经典总结】
  7. Linux内存映射实现
  8. Dreamweaver中插入透明Flash
  9. Windows 10虚拟机Vmware 安装 黑苹果macos10.14
  10. php获取手机的mac地址,Android手机获取Mac地址的几种方法
  11. javafx 教程_Java验证(javafx)
  12. 关于LocalDateTime的全局返回时间带“T“的时间格式处理
  13. java写ansi_java实现utf8转换ansi
  14. linux虚拟机a problem has occurred and the system can‘t recover解决方案
  15. CTFHUB POST
  16. Python 解压rar类型文件
  17. 阿里聚安全发布 企业可享淘宝同款防护
  18. 使用ppencode\rrencode\jjencode\aaencode进行好玩的代码混淆
  19. Linux命令行二:远程复制命令 scp
  20. c++贪吃蛇小项目学习使用设计模式:单例模式,策略模式

热门文章

  1. draw2d根据两点位置画圆弧
  2. [Java基础] 2个Pair工具类比较
  3. Linux随笔(2)
  4. preventDefault与stopPropagation的作用
  5. ES7.16.2基础操作之近似匹配和精准度匹配相结合(四)
  6. Linux高级指令(二)
  7. 找工作笔试面试那些事儿(13)---操作系统常考知识点总结
  8. PCB电路板中匹配电阻的作用
  9. 485电路(组网/非组网) 上下拉匹配电阻选取
  10. 服务器升级后性能恶化,SQLServer服务器内存升级后性能恶化如何解决?