Problem 2242 Daxia like acute triangle

Accept: 26    Submit: 99
Time Limit: 1000 mSec    Memory Limit : 32768 KB

 Problem Description

半径为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 20 y<=01 y<=02 y<=0-2 y>=0-1 y>=00 y>=0

 Sample Output

2

 Hint

最好避开浮点运算

 Source

FOJ有奖月赛-2016年8月(daxia专场之过四题方有奖)

POINT:

对每一个点的半圆求直角和钝角的个数,然后取反。要用cout输出,不然wa

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
using namespace std;
const int maxn = 20000+5;
typedef long long LL;
struct node
{int x,y;node(int xx=0,int yy=0):x(xx),y(yy){}
}a[maxn];
char s[4];
bool cmd(node a,node b)
{if(a.y!=b.y){return a.y<b.y;}else if(a.y==-1){return a.x<b.x;}else{return a.x>b.x;}
}
int main()
{int n,r;while(~scanf("%d %d",&n,&r)){for(int i=1;i<=n;i++){int x;scanf("%d %s",&x,s);if(s[1]=='<') a[i].y=-1;else a[i].y=1;a[i].x=x;}sort(a+1,a+1+n,cmd);LL ans=((LL)(n)*(n-1)*(n-2))/6;for(int i=1;i<=n;i++){if(a[i].y==-1){int num=upper_bound(a+1,a+1+n,node(-a[i].x,-a[i].y),cmd)-a-i-1;ans-=1LL*num*(num-1)/2;}else{int num=upper_bound(a+1,a+1+n,node(-a[i].x,-a[i].y),cmd)-a-1+(n-i);ans-=1LL*num*(num-1)/2;}}cout<<ans<<endl;}}

FZU 2242 - Daxia like acute triangle相关推荐

  1. FZU 2242 Daxia like acute triangle

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

  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. Oracle导入csv数据字符集,用SQLLDR把.CSV文件导入到数据库时,出现无法定位字符集句柄以用于字符集标识(0)...
  2. 点星 (。*)表示任意数量的字符(不包括换行符)
  3. arm板telnetd为什么运行不了_Win10 ARM 迎来原生 PS,微软玩 ARM 能赢过苹果吗
  4. python图像边缘检测
  5. listview 每行后面的小箭头_几个简单而有用的电脑小知识
  6. 风雨20年:我所积累的20条编程经验 (转)
  7. ajax读取文本无响应,如何获得jQuery$.ajax错误响应文本?
  8. SQL SERVER 收缩数据库的命令
  9. (HDU)1098 -- Ignatius's puzzle(Ignatius的困惑)
  10. 蒙特卡罗模拟_Stata博文 | 使用蒙特卡罗模拟计算功率part 1:基础知识
  11. 学习笔记_2011-10-02
  12. 系统管理:传统UNIX文件系统
  13. R语言快捷键大全中文版
  14. ESXi OEM版本下载地址
  15. android ppt 转图片显示不全,ppt转pdf图片显示不全怎么办 这两种方法供您参考
  16. 如何制作语音聊天程序源码,制作语音社交交友APP
  17. 盘点那些效果酷炫的大数据看板
  18. matlab从无到有系列(六):高级图形处理功能(多窗口绘图以及花瓶绘制)
  19. 输入框限制规则 只能输入数字 只能输入字母数字 等等
  20. 蒟蒻信安笔记4:CTF实践

热门文章

  1. Mac下安装home-brew
  2. 北京BJ60在上海车展上亮相,霓影版改装车型抢眼
  3. NVisual-可视化运维管理软件在职业院校计算机网络教学中的应用
  4. 哈佛结构、冯诺依曼结构、改进型哈佛结构
  5. 用CSS3实现对图片的放大效果
  6. cps1 cps2 android,CPS1.CPS2 MVS多机板模拟器FinalBurn for Win
  7. 数字电子技术 八路呼叫器 Multisim仿真 课程报告
  8. 小程序:社交电商的终极战场
  9. 牛顿法与拟牛顿法总结
  10. 使用XPath查询带有命名空间(有xmlns)的XML(转)