FZU 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
Sample Output
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相关推荐
- FZU 2242 Daxia like acute triangle
半径为r的圆上有n个不重复的点,请你帮daxia计算这些点能构成多少个不同的锐角三角形. Input 测试包含多组数据,每组数据第一行包含两个整数:n(1<=n<=20000),r(1&l ...
- E - Daxia like acute triangle 【组合数】
半径为r的圆上有n个不重复的点,请你帮daxia计算这些点能构成多少个不同的锐角三角形. Input 测试包含多组数据,每组数据第一行包含两个整数:n(1<=n<=20000),r(1&l ...
- FZU 2240 Daxia Suneast's problem
博弈,$SG$函数,规律,线段树. 这个问题套路很明显,先找求出$SG$函数值是多少,然后异或起来,如果是$0$就后手赢,否则先手赢.修改操作和区间查询的话可以用线段树维护一下区间异或和. 数据那么大 ...
- fzu 2238 Daxia Wzc's problem
Problem 2238 Daxia & Wzc's problem Accept: 38 Submit: 136 Time Limit: 1000 mSec Memory Lim ...
- FZU 2238 Daxia Wzc's problem
Daxia在2016年5月期间去瑞士度蜜月,顺便拜访了Wzc,Wzc给他出了一个问题: Wzc给Daxia等差数列A(0),告诉Daxia首项a和公差d; 首先让Daxia求出数列A(0)前n项和,得 ...
- FZU 2238 Daxia Wzc's problem【规律+lucas】
Daxia在2016年5月期间去瑞士度蜜月,顺便拜访了Wzc,Wzc给他出了一个问题: Wzc给Daxia等差数列A(0),告诉Daxia首项a和公差d; 首先让Daxia求出数列A(0)前n项和,得 ...
- FZU 2238 - Daxia Wzc's problem(Lucas)
Problem 2238 Daxia & Wzc's problem Accept: 42 Submit: 166 Time Limit: 1000 mSec Memory Lim ...
- fzu 2244 Daxia want to buy house
http://acm.fzu.edu.cn/problem.php?pid=2244 很简单的水题,但是就是过不去,问题出在在C中,对于int型 *0.7和 *7/10是会出现精度上的问题. #inc ...
- FZU - 2243 - Daxia like uber (单源最短路)
Problem 2243 Daxia like uber Accept: 43 Submit: 115 Time Limit: 1000 mSec Memory Limit : 3276 ...
最新文章
- Oracle导入csv数据字符集,用SQLLDR把.CSV文件导入到数据库时,出现无法定位字符集句柄以用于字符集标识(0)...
- 点星 (。*)表示任意数量的字符(不包括换行符)
- arm板telnetd为什么运行不了_Win10 ARM 迎来原生 PS,微软玩 ARM 能赢过苹果吗
- python图像边缘检测
- listview 每行后面的小箭头_几个简单而有用的电脑小知识
- 风雨20年:我所积累的20条编程经验 (转)
- ajax读取文本无响应,如何获得jQuery$.ajax错误响应文本?
- SQL SERVER 收缩数据库的命令
- (HDU)1098 -- Ignatius's puzzle(Ignatius的困惑)
- 蒙特卡罗模拟_Stata博文 | 使用蒙特卡罗模拟计算功率part 1:基础知识
- 学习笔记_2011-10-02
- 系统管理:传统UNIX文件系统
- R语言快捷键大全中文版
- ESXi OEM版本下载地址
- android ppt 转图片显示不全,ppt转pdf图片显示不全怎么办 这两种方法供您参考
- 如何制作语音聊天程序源码,制作语音社交交友APP
- 盘点那些效果酷炫的大数据看板
- matlab从无到有系列(六):高级图形处理功能(多窗口绘图以及花瓶绘制)
- 输入框限制规则 只能输入数字 只能输入字母数字 等等
- 蒟蒻信安笔记4:CTF实践