题目背景
Farmer John最近发明了一个游戏,来考验自命不凡的贝茜。 题目描述
Farmer John has challenged Bessie to the following game: FJ has a board with dots marked at N ( ≤ N ≤ ) distinct lattice points. Dot i has the integer coordinates Xi and Yi (-, ≤ Xi ≤ ,; -, ≤ Yi ≤ ,). Bessie can score a point in the game by picking two of the dots and drawing a straight line between them; however, she is not allowed to draw a line if she has already drawn another line that is parallel to that line. Bessie would like to know her chances of winning, so she has asked you to help find the maximum score she can obtain. 游戏开始的时 候,FJ会给贝茜一块画着N ( <= N <= )个不重合的点的木板,其中第i个点 的横、纵坐标分别为X_i和Y_i (-, <= X_i <=,; -, <= Y_i <= ,)。 贝茜可以选两个点画一条过它们的直线,当且仅当平面上不存在与画出直线 平行的直线。游戏结束时贝茜的得分,就是她画出的直线的总条数。为了在游戏 中胜出,贝茜找到了你,希望你帮她计算一下最大可能得分。 输入输出格式
输入格式:
第1行: 输入1个正整数:N 第2..N+1行: 第i+1行用2个用空格隔开的整数X_i、Y_i,描述了点i的坐标 输出格式:
第1行: 输出1个整数,表示贝茜的最大得分,即她能画出的互不平行的线段数 输入输出样例
输入样例#: -
- 输出样例#: 说明
贝茜能画出以下4种斜率的直线:-,,/3以及1。 USACO2008 Feb T1

题面

对斜率进行排序,判重即可(解决精度误差)。

注意:特判一下直线与坐标轴垂直的情况。

 #include<bits/stdc++.h>
#define DB double
using namespace std;
const int N=;
int n,l,ans;
int x[N],y[N];
DB c[N*N];
DB get(int a,int b)
{
return 1.0*(y[a]-y[b])/(x[a]-x[b]);
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;++i) scanf("%d%d",&x[i],&y[i]);
for(int i=;i<=n;++i)
for(int j=i+;j<=n;++j)
if(x[i]==x[j]) c[++l]=;
else if(y[i]==y[j]) c[++l]=1e7;
else c[++l]=get(i,j);
sort(c+,c+l+);
for(int i=;i<=l;++i)
if(fabs(c[i]-c[i-])>1e-) ans++;
printf("%d",ans+);
return ;
}

希望今年可以拿到省一,通过复旦的自招,加油

[USACO08FEB]连线游戏Game of Lines的更多相关文章

  1. bzoj1610 / P2665 [USACO08FEB]连线游戏Game of Lines

    P2665 [USACO08FEB]连线游戏Game of Lines 第一次写快读没判负数....(捂脸) 暴力$O(n^2)$求斜率,排序判重. 注意垂直方向的直线要特判. end. #inclu ...

  2. 洛谷 P2665 [USACO08FEB]连线游戏Game of Lines

    P2665 [USACO08FEB]连线游戏Game of Lines 题目背景 Farmer John最近发明了一个游戏,来考验自命不凡的贝茜. 题目描述 Farmer John has chall ...

  3. P2665 [USACO08FEB]连线游戏Game of Lines

    本着dp的心情,结果是道水题STL  set就行了 题意:看有多少种斜率(题在那里半天说多少直线(不平行的)),其实就是找斜率的种类 #include<cstdio> #include&l ...

  4. BZOJ_1610_[Usaco2008_Feb]_Line连线游戏_(计算几何基础+暴力)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1610 给出n个点,问两两确定的直线中,斜率不同的共有多少条. 分析 暴力枚举直线,算出来斜率放 ...

  5. BZOJ1610: [Usaco2008 Feb]Line连线游戏

    1610: [Usaco2008 Feb]Line连线游戏 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1301  Solved: 571[Submit ...

  6. BZOJ 1610: [Usaco2008 Feb]Line连线游戏

    1610: [Usaco2008 Feb]Line连线游戏 Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 &l ...

  7. 1610: [Usaco2008 Feb]Line连线游戏

    1610: [Usaco2008 Feb]Line连线游戏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1396  Solved: 615 [Subm ...

  8. [bzoj1610][Usaco2008 Feb]Line连线游戏_暴力枚举

    Line连线游戏 bzoj-1610 Usaco-2008 Feb 题目大意:Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 <= ...

  9. 【BZOJ】1610: [Usaco2008 Feb]Line连线游戏(几何)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1610 两种做法,一种计算几何,一种解析几何,但是计算几何的复杂度远远搞出解析集合(虽然精度最高) 计 ...

随机推荐

  1. 各种CNN模型

    Resnet: model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'res ...

  2. 【Windows Server存储】MBR和GPT分区表

    MBR和GPT分区表 分区表用于引导操作系统 master boot record(MBR)于1983年首次在PC上推出 最大4个主分区 2太空间 GUID Partition Table(GPT), ...

  3. 文档压缩 | gzip、bzip2、xz

    6.文档的压缩与打包 Linux下常见后缀名所对应的的压缩工具 .gz 表示由gzip压缩工具压缩的文件 .bz2 表示由bzip2压缩工具压缩的文件 .tar 表示由tar打包程序打包的文件(tar ...

  4. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

    cp -r /etc/p*[a-Z] /tmp/mytest1

  5. 【Linux-驱动】驱动策略----信号量

    访问共享资源的代码区块叫“临界区”,临界区需要以某种互斥机制加以保护:自旋锁.信号量等.互斥访问:一个执行单元在访问共享资源的时候,其他的执行单元被禁止访问. 信号量:在Liunx中的信号量是一种睡眠 ...

  6. [转帖]TLS握手:回顾1.2、迎接1.3

    TLS握手:回顾1.2.迎接1.3 novsec2019-05-10共26541人围观 ,发现 2 个不明物体网络安全 *本文原创作者:novsec,本文属于FreeBuf原创奖励计划,未经许可禁止转 ...

  7. jmeter应用之批量插入数据

    上一篇讲到如何在jmeter中配置并连接使用mysql数据库,这一节主要是讲数据库连接的简单应用——批量插入数据 总体步骤如下: 1)新建线程组和添加JDBC Connection Configura ...

  8. MySQL-快速入门(12)备份、还原

    1.数据备份 1>使用MySQLdump命令备份(主要的方式) //备份数据库中某张表(去掉表的限定,就是备份指定数据库)//备份脚本可以重新创建表及插入数据mysqldump -u user ...

  9. springBoot 静态变量@value取不到值

    在工具类中给静态变量初始化值,使用了springBoot的@Value注解,但是没有赋值成功,得到的是null @Value("${jdbc.url}")private stati ...

  10. P1079Vigenère密码

    这是2012年noip提高组的的DAY1T1,我用了一下午的时间,一次性AC^^. 这是一个字符串的模拟题.首先给出了一个密码对应法则,我们发现在同一对角线的明文通过密钥得出来的密文是相同的.根据八皇 ...