P10245 Swimming Pool题解
P10245 Swimming Pool
题意
给你四条边 \(abcd\),求这四条边是否可以组成梯形。
思路
这显然是一道简单的普通数学题。
判断是否能构成梯形只需看四条边是否能满足,上底减下底的绝对值小于两腰之和且大于两腰之差。
证明过程

如图,\(AB=a\),\(BC=b\),\(CD=c\),\(AD=d\)。
过点 \(D\) 作 \(AB\) 的平行线交 \(BC\) 于点 \(E\)。
若四边形 \(ABCD\) 为梯形,则 \(AD\) 平行于 \(BE\),
又 \(AB\) 平行 \(DE\),
所以四边形 \(ABED\) 是平行四边形,
则 \(BE=AD=d\)。
因为 \(BC=b\),
所以 \(EC=BC-BE=b-d\)。
由上文知四边形 \(ABED\) 是平行四边形,
则 \(DE=AB=a\)。
于是在三角形 \(CDE\) 中。
根据三角形的三边关系可知:
\(CE<DE+DC\) 并且 \(CE>DC-DE\)。
即 \(b-a>c-d\) 并且 \(b-a<c+d\)。
注意事项
- 因为题目中有表明,所以只有 \(ac\) 和 \(bd\) 是对边。
- 因为 \(a-b\) 有几率出现负数,所以用绝对值函数 abs 来做。
代码
#include <bits/stdc++.h>
using namespace std;
inline int rd(){
int f=1,s=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9'){s=s*10+c-'0';c=getchar();}
return f*s;
}
inline void print(int x){
if(x<0){putchar('-');print(-x);return;}
if(x>9) print(x/10);
putchar(x%10+'0');
}
int t,a,b,c,d;
int main(){
t=rd();
while(t--){
a=rd();b=rd();c=rd();d=rd();
bool f=0,k=0;
if(a!=c&&b+d>abs(a-c)&&abs(b-d)<abs(a-c))f=1;
else if(b!=d&&a+c>abs(b-d)&&abs(a-c)<abs(b-d))f=1;
if(f==1)cout<<"yes\n";
else cout<<"no\n";
}
return 0;
}
```P10245 Swimming Pool题解
P10245 Swimming Pool题解的更多相关文章
- Codeforces Round #331 (Div. 2) A. Wilbur and Swimming Pool 水题
A. Wilbur and Swimming Pool Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/conte ...
- 【CodeForces 596A】E - 特别水的题5-Wilbur and Swimming Pool
Description After making bad dives into swimming pools, Wilbur wants to build a swimming pool in the ...
- Codeforce#331 (Div. 2) A. Wilbur and Swimming Pool(谨以此题来纪念我的愚蠢)
C time limit per test 1 second memory limit per test 256 megabytes input standard input output stand ...
- Codeforces Round #331 (Div. 2) _A. Wilbur and Swimming Pool
A. Wilbur and Swimming Pool time limit per test 1 second memory limit per test 256 megabytes input s ...
- Codeforces--596A--Wilbur and Swimming Pool(数学)
A - Wilbur and Swimming Pool Crawling in process... Crawling failed Time Limit:1000MS Memory ...
- CodeForces 596A Wilbur and Swimming Pool
水题. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u ...
- Gym 100637F F. The Pool for Lucky Ones
F. The Pool for Lucky Ones Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10 ...
- Gym 100637F F. The Pool for Lucky Ones 暴力
F. The Pool for Lucky Ones Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10 ...
- HPU周赛题目解析
A - Wilbur and Swimming Pool Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & ...
- UVALive 6915 Leveling Ground 倍增RMQ
Leveling Ground 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid ...
随机推荐
- Immich让你从此告别百度网盘备份手机照片
一. Immich 是什么 Immich是一个开源的图片自托管服务,它能实现类似于百度网盘的照片自动备份.分类等功能,它同时提供了Web管理页面,和移动端APP,可以轻松备份手机中的照片至家庭服务器中 ...
- EF CORE 命令行
EF 命令行 使用管理台模式 Add-Migration 添加一个新的迁移(名词),string是迁移的名称remove-Migration 删除上一次的迁移Update-Database 更新最近一 ...
- Flutter(八):Flutter路由管理(Router)
目录 一.术语 路由(route): 导航(Navigator): 二.路由管理 1.Navigator示例代码 2.路由定义(命名路由) 在App中定义router: 3.Navigator方法介绍 ...
- Dubbo实战教程
"Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案." ...
- Go的接口与多态
什么是Go的接口? 接口可以说是一种类型,可以粗略的理解为他的变量是一堆方法. 一个简单的案例: r,_ := http.Get("http://www.baidu.com") i ...
- QuartusII调用 PLL_IP核方法(Mega Wizard)
[基本信息] 要求:调用PLL-IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比). 芯片型号:cyclone Ⅳ EP4 ...
- Linu部署服务启停脚本
Linux项目部署启停 WEB应用(WAR包)部署 实际开发中,难免遇见新业务项目构建.项目重构(重新优化整个项目的架构,相当于重写),也可能是项目拆分多个模块,也可能部分拆分,但项目的模块化分离,就 ...
- CF1626E
problem 我们可以考虑什么情况下这个点一定可以到黑点. \(c_i = 1\). \(c_{son} = 1\). 儿子可以,并且儿子子树内有两个黑点 请两个不必多说,看最后一个. 假如说考虑他 ...
- 写了一个 SRE 调试工具,类似一个小木马
远程操作机器有时会比较麻烦,我写了一个工具,主要功能:1.远程执行命令 2.上传下载文件.是一个 Web Server,通过 HTTP 请求来操作机器,类似一个小木马.当然,因为是一个 Web Ser ...
- koishi-跨平台、可扩展、高性能的机器人
koishi 介绍 Koishi 是一个跨平台.可扩展.高性能的聊天机器人框架. 它的名字和图标设计来源于东方 Project 中的角色 古明地恋 (Komeiji Koishi).古明地恋是一个会做 ...