洛谷 P2665 [USACO08FEB]连线游戏Game of Lines
题目背景
Farmer John最近发明了一个游戏,来考验自命不凡的贝茜。
题目描述
Farmer John has challenged Bessie to the following game: FJ has a board with dots marked at N (2 ≤ N ≤ 200) distinct lattice points. Dot i has the integer coordinates Xi and Yi (-1,000 ≤ Xi ≤ 1,000; -1,000 ≤ Yi ≤ 1,000).
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 (2 <= N <= 200)个不重合的点的木板,其中第i个点 的横、纵坐标分别为X_i和Y_i (-1,000 <= X_i <=1,000; -1,000 <= Y_i <= 1,000)。 贝茜可以选两个点画一条过它们的直线,当且仅当平面上不存在与画出直线 平行的直线。游戏结束时贝茜的得分,就是她画出的直线的总条数。为了在游戏 中胜出,贝茜找到了你,希望你帮她计算一下最大可能得分。
输入输出格式
输入格式:
第1行: 输入1个正整数:N
第2..N+1行: 第i+1行用2个用空格隔开的整数X_i、Y_i,描述了点i的坐标
输出格式:
第1行: 输出1个整数,表示贝茜的最大得分,即她能画出的互不平行的线段数
输入输出样例
说明
贝茜能画出以下4种斜率的直线:-1,0,1/3以及1。
USACO2008 Feb T1
思路:数据范围不大,只要求出所有的斜率然后排序判重就可以了。在特判不存在斜率的情况,也就是与坐标轴垂直的情况。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,cnt,ans=;
double a[],b[],c[];
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%lf%lf",&a[i],&b[i]);
for(int i=;i<n;i++)
for(int j=i+;j<=n;j++)
if(a[i]==a[j]) c[++cnt]=;
else if(b[i]==b[j]) c[++cnt]=;
else c[++cnt]=(a[i]-a[j])/(b[i]-b[j]);
sort(c+,c+cnt+);
for(int i=;i<=cnt;i++)
if(c[i]-c[i-]>1e-) ans++;
printf("%d",ans);
}
夫妻忆
枯眼望遥山隔水,往来曾见几心知?
壶空怕酌一杯酒,笔下难成和韵诗。
途路阻人离别久,讯音无雁寄回迟。
孤灯夜守长寥寂,夫忆妻兮父忆儿。
洛谷 P2665 [USACO08FEB]连线游戏Game of Lines的更多相关文章
- bzoj1610 / P2665 [USACO08FEB]连线游戏Game of Lines
P2665 [USACO08FEB]连线游戏Game of Lines 第一次写快读没判负数....(捂脸) 暴力$O(n^2)$求斜率,排序判重. 注意垂直方向的直线要特判. end. #inclu ...
- P2665 [USACO08FEB]连线游戏Game of Lines
本着dp的心情,结果是道水题STL set就行了 题意:看有多少种斜率(题在那里半天说多少直线(不平行的)),其实就是找斜率的种类 #include<cstdio> #include&l ...
- [USACO08FEB]连线游戏Game of Lines
题目背景 Farmer John最近发明了一个游戏,来考验自命不凡的贝茜. 题目描述 Farmer John has challenged Bessie to the following game: ...
- 洛谷 P2059 [JLOI2013]卡牌游戏(概率dp)
题面 洛谷 题解 \(f[i][j]\)表示有i个人参与游戏,从庄家(即1)数j个人获胜的概率是多少 \(f[1][1] = 1\) 这样就可以不用讨论淘汰了哪些人和顺序 枚举选庄家选那张牌, 枚举下 ...
- 洛谷 大牛分站 P1000 超级玛丽游戏
题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. *** ...
- BZOJ3191或洛谷2059 [JLOI2013]卡牌游戏
BZOJ原题链接 洛谷原题链接 我们可以倒着来\(DP\). 设\(f[i][j]\)表示剩余\(i\)个人,从庄家数起第\(j\)个人的胜率,设当前枚举到第\(k\)张牌,该情况下这一轮淘汰的位置为 ...
- 洛谷 P4819 [中山市选]杀人游戏
洛谷 题目就是让我们在DAG中找到一些点,覆盖所有点. 因为是DAG,可以想到tarjan缩一下点.假设我们需要找x个点,那么答案就是(n-x)/n. 我们怎么选点呢? 敏锐的我们很快就能想到,直接选 ...
- 【洛谷】P1247取火柴游戏
题目链接:https://www.luogu.org/problemnew/show/P1247 题意:nim取石子的题意,多了一个判断先手赢的话,输出先手第一把怎么拿,以及拿完之后每堆还剩多少. 题 ...
- 【洛谷4424】[HNOI_AHOI2018]寻宝游戏(我也不知道括号里该写啥)
题目 洛谷 4424 分析 感觉思路比较神仙. 对于按位与和按位或两种运算,显然每一位是独立的,可以分开考虑. 对于某一位,「与 \(0\)」会将这一位变成 \(0\),「或 \(1\)」会将这一位变 ...
随机推荐
- vue父组件引用子组件方法显示undefined问题原因及解决方法
关于vue父组件引用子组件问题 1.首先导入子组件并且在components中定义子组件 2.引用子组件,并定义ref,ref定义的名称用于 this.$refs所调用的名称 3.调用子组件的方法 ( ...
- MyEclipse 设置JSP,HTML的默认打开方式,避免出现打开后上面出现浏览器
1. 2. 3. jsp的设置一样,这样myeclipse打开jsp就不会出现上面的浏览器了
- Python 3 实现数字转换成Excel列名(10进制到26进制的转换函数)
背景: 最近在看一些Python爬虫的相关知识,讲爬取的一些数据写入到Excel表中,当时当列的数目不确定的情况下,如何通过遍历的方式讲爬取的数据写入到Excel中. 开发环境: Python 3 ...
- AssetBundle打包优化解决方式
第一阶段:AssetBundle出一套解决方式 1.解决如今同一个资源打2个bundle的冗余问题 2.測试验证节省资源的比率是多少 问题拆分 一.bundle反复 问 题 :同样资源拆分问题? ...
- POJ 3749
第一道简单密码学的题,太水了,本不打算做,第一道,还是纪念一下. #include <iostream> #include <cstdio> #include <cstr ...
- bzoj-1492 货币兑换Cash (1)——平衡树维护凸包
题意: 有n天和m的初始金钱,用来购买AB两种纪念券: n天里每天都有AB的价格.每天能够进行这种操作. 1.卖出手中x%的纪念券(AB分别都卖出x%). 2.用x的金钱买入纪念券.买入AB券的比例在 ...
- Android DatePickerDialog样式不一致的问题
三星和华为的平板上,DatePickerDialog的显示样式不一致.三星的仅仅显示月日年选择框,而华为的平板上另外还显示了日历表.代码同样. 可能是系统控件做了部分改动,后来你发现是能够设置的: D ...
- perl getopt 用法
我们在linux经常常使用到一个程序须要增加參数,如今了解一下perl中的有关控制參数的函数.getopt.在linux有的參数有二种形式.一种是--help,还有一种是-h.也就是-和--的分别.- ...
- Android解决ScrollView视图导致其底部的布局栏被推到上边的问题
近期有个xml布局文件,我说下大概意思: <ScrollView> ...... </ScrollView> <RelativeLayout> ...... < ...
- CCS+C6678LE开发记录11:多核协作(IPC)入门
为更好地发挥C6678的多核性能,需要用到多核协作.幸运的是,我们可以使用官方提供的IPC模块. IPC=Inter-Processor Communication, 核间通信,粗略来说就是多核之间进 ...