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题解的更多相关文章

  1. 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 ...

  2. 【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 ...

  3. 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 ...

  4. 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 ...

  5. Codeforces--596A--Wilbur and Swimming Pool(数学)

     A - Wilbur and Swimming Pool Crawling in process... Crawling failed Time Limit:1000MS     Memory ...

  6. CodeForces 596A Wilbur and Swimming Pool

    水题. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u ...

  7. 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 ...

  8. 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 ...

  9. HPU周赛题目解析

    A - Wilbur and Swimming Pool Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & ...

  10. UVALive 6915 Leveling Ground 倍增RMQ

    Leveling Ground 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid ...

随机推荐

  1. 史上最全shell脚本编程语法上册

    1. shell 脚本语言的基本用法 1.1 shell 脚本的用途 将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率: 减少手工命令的输入,一定程度上避免人为错误: 将软件或应用的安装及 ...

  2. 鸿蒙HarmonyOS实战-Web组件(页面跳转和浏览记录)

    前言 页面跳转是指在浏览器中从当前页面跳转到另一个页面的操作.可以通过点击链接.输入网址.提交表单等方式实现页面跳转. 浏览记录是指记录用户在浏览器中浏览过的页面的历史记录.当用户跳转到一个新页面时, ...

  3. 8个实用的Java Streams API

    分享8个开箱即用的API,方便日常处理集合. 1. 快速过滤空值:Stream.ofNullable 该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常. 在 ...

  4. numpy基础--线性代数

    以下代码的前提:import numpy as np 线性代数(如矩阵乘法.矩阵分解.行列式以及其他方阵数学等)是任何数组库的重要组成部分.numpy提供了一个用于矩阵乘法的dot函数(既是一个数组方 ...

  5. 阿里云ECS后台CPU占用100%,top却找不到

    上周公司阿里云服务器后台报警,CPU占用瞬间飙升到100%: 首先想到使用top命令查询CPU占用详情: 发现进程占用CPU都比较低,在CPU占用一栏发现只有ni的占用比较高. 先了解一下CPU相关监 ...

  6. [SWPUCTF 2021 新生赛]easyrce

    这道题比较简单,打开环境一看就只需要构造一个get传参的命令就行,我们就看一下有些什么文件,构造payload: ?url=system ("ls /"); 看到有个 flllll ...

  7. .NET5 IIS ASP.NET CORE 部署时 HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure

    .NET5 IIS ASP.NET CORE 部署时 HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure 部署机器只安装了dotnet-hos ...

  8. 使用 OpenTelemetry 构建可观测性 03 - 导出

    上一个博文中,我提到如何使用 OpenTelemery 的特定语言 API 来收集遥测数据,包含手动和自动的埋点技术,这很重要!但是,收集遥测数据只是解决方案的第一步. 你需要把遥测数据路由转发到其他 ...

  9. 串口收发UART(Verilog HDL)

    UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是一种异步串行通信协议,主要用于计算机和嵌入式系统之间的数据交换. 实现UART通信的 ...

  10. SM4Utils加解密demo

    SM4Utils加解密demo package com.example.core.mydemo.sm4; import cn.org.bjca.utils.SM4Utils; public class ...