CodeForces - 589D
题目链接: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的更多相关文章
- CodeForces - 589D(暴力+模拟)
题目链接:http://codeforces.com/problemset/problem/589/D 题目大意:给出n个人行走的开始时刻,开始时间和结束时间,求每个人分别能跟多少人相遇打招呼(每两人 ...
- CodeForces 589D Boulevard (数学,相遇)
题意:给定 n 个的在 x 轴上的坐标,和开始时间,结束坐标,从起点向终点走,如果和其他人相遇,就互相打招乎,问你每人打招乎的次数. 析:其实这一个数学题,由于 n 比较小,我们就可以两两暴力,这两个 ...
- CodeForces - 589D —(思维题)
Welcoming autumn evening is the best for walking along the boulevard and npeople decided to do so. T ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
随机推荐
- Azure CosmosDB (1) 概述
<Windows Azure Platform 系列文章目录> Azure CosmosDB是一个全球分布式数据库服务(Global Distributed Database),提供低延迟 ...
- 实验-12-JSP简单入门
参考资料 JSP实验参考文件 主要看实验任务书 实验1. 第一个HTML页面与Tomcat 实验内容:任务书中的JSP-实验1. 1.1 EclipseJEE的使用 新建Tomcat Server 新 ...
- windows下apache httpd2.4.26集群完整搭建例子:下载、启动、tomcat集群例子
第一部分——下载 1.1: 百度搜索apache httpd关键字,第一个链接既是官方下载地址.如果这一步不会,此篇文章不适合你阅读,请自行停止. 1.2:进入官网http://httpd.apach ...
- OpenStack的八年之痒
2010年10月,OpenStack发布了第一个版本:上个月,发布了它的第18个版本Rocky.几年前气氛火爆,如今却冷冷清清.Rocky版本宣布后,OpenStack群里也就出现了几篇简短的翻译过来 ...
- C# 栈 、队列的概念
栈: 也是System.Collections下的数据结构 存储依然是Object类型的对象 Stack 名字 = new Stack(); Count:实际拥有的元素个数 栈的释放顺序是先进后出(后 ...
- JVM 垃圾回收GC Roots Tracing
1.跟搜索算法: JVM中对内存进行回收时,需要判断对象是否仍在使用中,可以通过GC Roots Tracing辨别. 定义: 通过一系列名为”GCRoots”的对象作为起始点,从这个节点向下搜索,搜 ...
- 06python上
product_list=[ ('Mac',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike',2000), ] ...
- git 修改客户端用户名和密码
1.修改某个具体项目中的用户名密码 vim xx/{yourProject dir }/.git/.git-credentials 在.git-credentials文件中配置用户名密码 https: ...
- vmware 里MAC 鼠标能移动 无法单击
vmware 里MAC 鼠标能移动 无法单击 移动有效果,能看到鼠标移动的光标,鼠标放到mac的图标上还有提示,就是无法单击. 键盘正常. 重启mac,重启vmware 20次好了,2小时.
- Resttemplate中设置超时时长方法
为了满足调用需求,需要在使用Resttemplate发送请求时,修改超时时长,网上给出了相关修改方法,代码如下: HttpComponentsClientHttpRequestFactory rf = ...