题目链接:http://codeforces.com/problemset/problem/589/D

思路:将每个人的信息转化为自变量为时间因变量为位置的一元方程。再一个个判断是否相遇。

若两人同向,方程相等,如果两人起点与终点有交集则相遇否则不相遇。

若两人反向,求其相遇点,如果该点在两人的起点和终点之间则相遇否则不相遇。

 #include<iostream>
using namespace std;
struct node{
double t,s,f,a,b;
int ans;
}p[];
int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)
{
cin>>p[i].t>>p[i].s>>p[i].f;
if(p[i].s>p[i].f)p[i].a=-1.0;
else p[i].a=1.0;
p[i].b=p[i].s-p[i].a*p[i].t;
}
for(int i=;i<n-;i++)
{
for(int j=i+;j<n;j++)
{
if(p[i].a==p[j].a&&p[i].b!=p[j].b)continue;
else if(p[i].a==p[j].a&&p[i].b==p[j].b)
{
double s1=p[i].s,s2=p[j].s,f1=p[i].f,f2=p[j].f;
if(s1<=s2&&f1>=s2||s1>=s2&&s1<=f2||f1<=f2&&s1>=f2||f1>=f2&&f1<=s2)
{
p[i].ans++;
p[j].ans++;
}
}
else
{
double t=(p[i].b-p[j].b)/2.0;
if(t<)t=-t;
double f1=max(p[i].f,p[i].s),f2=max(p[j].f,p[j].s);
double s1=min(p[i].f,p[i].s),s2=min(p[j].f,p[j].s);
double x1=t*p[i].a+p[i].b,x2=t*p[j].a+p[j].b;
if(x1==x2&&x1>=s1&&x1<=f1&&x2>=s2&&x2<=f2)
{
p[i].ans++;
p[j].ans++;
}
}
}
}
for(int i=;i<n;i++)
{
if(i!=n-)cout<<p[i].ans<<" ";
else cout<<p[i].ans<<endl;
}
return ;
}

CodeForces - 589D的更多相关文章

  1. CodeForces - 589D(暴力+模拟)

    题目链接:http://codeforces.com/problemset/problem/589/D 题目大意:给出n个人行走的开始时刻,开始时间和结束时间,求每个人分别能跟多少人相遇打招呼(每两人 ...

  2. CodeForces 589D Boulevard (数学,相遇)

    题意:给定 n 个的在 x 轴上的坐标,和开始时间,结束坐标,从起点向终点走,如果和其他人相遇,就互相打招乎,问你每人打招乎的次数. 析:其实这一个数学题,由于 n 比较小,我们就可以两两暴力,这两个 ...

  3. CodeForces - 589D —(思维题)

    Welcoming autumn evening is the best for walking along the boulevard and npeople decided to do so. T ...

  4. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  5. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  6. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  7. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  8. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  9. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

随机推荐

  1. PAT 乙级 1086 就不告诉你 (15 分)

    1086 就不告诉你 (15 分) 做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三.”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积. 输入格式 ...

  2. 读取Excel的部分问题

    1.office分很多版本,导致Excel连接字符串不同. 2.是否有标题头的问题(在连接字符串中设置) 3.Excel本身删除分数据删除和表格结构删除.普通delete只能删除数据, 还是能读取到表 ...

  3. 安装ORACLE高可用RAC集群11g执行root脚本的输出信息

    安装ORACLE高可用RAC集群11g执行root脚本的输出信息 作者:Eric 微信:loveoracle11g [root@node1 ~]# /u01/app/oraInventory/orai ...

  4. C#使用ITextSharp操作pdf

    在.NET中没有很好操作pdf的类库,如果你需要对pdf进行编辑,加密,模板打印等等都可以选择使用ITextSharp来实现. 第一步:可以点击这里下载,新版本的插件升级和之前对比主要做了这几项重大改 ...

  5. Spring 了解Bean的一生(生命周期)

    转载 https://blog.csdn.net/w_linux/article/details/80086950 该篇博客就来了解IoC容器下Bean的一生吧,也可以理解为bean的生命周期. ## ...

  6. 面向连接的tcp 编程

    from socket import * serverSocket=socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",8899)) ...

  7. 网页编程工具:EditPlus

    字体:Consolas EditPlus,很土很简单很强大的网页编程工具 http://www.editplus.com/download.html  下载 http://www.cnblogs.co ...

  8. Spring MVC 之 ContentNegotiatingViewResolver

    我们已经知道 对于 RequestMappingInfoHandlerMapping, 它在对带有后缀的http 请求进行匹配的时候,如果找不到精确的pattern, 那么就会 pattern+.* ...

  9. leetcode148

    class Solution { public: ListNode* sortList(ListNode* head) { multimap<int,ListNode*> mul; whi ...

  10. TensorFlow学习之四

    Tensorflow一些常用基本概念与函数(1) 摘要:本文主要对tf的一些常用概念与方法进行描述. 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开 ...