大模拟题,按要求建立多边形,先定位斜边的位置,再分类讨论~

#include<bits/stdc++.h>
using namespace std;
const int maxn=;
struct node {
double x,y;
}Node[][maxn];
double distance (node a,node b) {
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int isXiebian (node a,node b) {
if (a.x!=b.x&&a.y!=b.y) return ;
return ;
}
double angle (node a,node b) {
return fabs(a.x-b.x)/fabs(a.y-b.y);
}
vector<double> edge[];
int main () {
int T;
scanf ("%d",&T);
int k1,k2;
while (T--) {
edge[].clear();edge[].clear();
scanf ("%d",&k1);
for (int i=;i<k1;i++) scanf ("%lf %lf",&Node[][i].x,&Node[][i].y);
scanf ("%d",&k2);
for (int i=;i<k2;i++) scanf ("%lf %lf",&Node[][i].x,&Node[][i].y);
double xie1=,xie2=,cnt1=,cnt2=,angle1,angle2,p1,p2;
for (int i=;i<k1;i++) {
int j=i<k1-?i+:;
if (isXiebian(Node[][i],Node[][j])) xie1=distance(Node[][i],Node[][j]),cnt1++,
angle1=angle(Node[][i],Node[][j]);
edge[].push_back(distance(Node[][i],Node[][j]));
}
for (int i=;i<k2;i++) {
int j=i<k2-?i+:;
if (isXiebian(Node[][i],Node[][j])) xie2=distance(Node[][i],Node[][j]),cnt2++,
angle2=angle(Node[][i],Node[][j]);
edge[].push_back(distance(Node[][i],Node[][j]));
}
if (k1+k2>||k1+k2<) printf ("NO\n");
else if (xie1==xie2&&cnt1==&&cnt2==) {
if ((angle1==angle2||angle1*angle2==)&&(k1!=||k2!=)) printf ("YES\n");
else if (k1==&&k2==) {
double z1=p1<k1-?p1+:p1+-k1;
double z2=p2<k2-?p2+:p2+-k2;
double z3=p1<k1-?p1+:;
double z4=p1>?p1-:k1-;
double z5=p2<k2-?p2+:;
double z6=p2>?p2-:k2-;
if (edge[][z1]==edge[][z2]&&(edge[][z3]+edge[][z5]==edge[][z4]+edge[][z6]||
edge[][z3]+edge[][z6]==edge[][z4]+edge[][z5])) printf ("YES\n");
else printf ("NO\n");
}
else printf ("NO\n");
}
else if (xie1==&&xie2==&&k1==&&k2==) {
for (int i=;i<k1;i++) {
for (int k=;k<k2;k++)
if (edge[][i]==edge[][k]) cnt1++;
}
if (cnt1==||cnt1==) printf ("YES\n");
else printf ("NO\n");
}
else printf ("NO\n");
}
return ;
}

PAT T1011 Cut Rectangles的更多相关文章

  1. PAT 1132 Cut Integer

    1132 Cut Integer (20 分)   Cutting an integer means to cut a K digits lone integer Z into two integer ...

  2. PAT A1132 Cut Integer (20 分)——数学题

    Cutting an integer means to cut a K digits lone integer Z into two integers of (K/2) digits long int ...

  3. PAT 1132 Cut Integer[简单]

    1132 Cut Integer(20 分) Cutting an integer means to cut a K digits lone integer Z into two integers o ...

  4. pat 1132 Cut Integer(20 分)

    1132 Cut Integer(20 分) Cutting an integer means to cut a K digits lone integer Z into two integers o ...

  5. PAT (Advanced Level) Practice(更新中)

    Source: PAT (Advanced Level) Practice Reference: [1]胡凡,曾磊.算法笔记[M].机械工业出版社.2016.7 Outline: 基础数据结构: 线性 ...

  6. PAT_A1132#Cut Integer

    Source: PAT A1132 Cut Integer (20 分) Description: Cutting an integer means to cut a K digits lone in ...

  7. PAT 甲级 1132 Cut Integer

    https://pintia.cn/problem-sets/994805342720868352/problems/994805347145859072 Cutting an integer mea ...

  8. PAT甲级——A1132 Cut Integer

    Cutting an integer means to cut a K digits lone integer Z into two integers of (K/2) digits long int ...

  9. PAT Advanced 1132 Cut Integer (20) [数学问题-简单数学]

    题目 Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long ...

随机推荐

  1. 使用ltp4j碰到Can't find dependent libraries报错信息的问题解决

    项目中使用了哈工大的自然语言处理模块ltp4j,使用idea工具集成到项目中之后,在本机运行没有问题,一切正常.打成war包,部署到服务器上,使用的时候报错Can't find dependent l ...

  2. SpringCloud-粪发涂墙90

    https://mp.weixin.qq.com/s/UNm8cBw4TKq4OobVKHUBXA 邻国相望,鸡犬之声相闻,民至老死不相往来.这个世界被小诸侯给切的七零八落,一锅乱麻. 而现实是,我的 ...

  3. 红帽RHCE培训-课程3笔记目录

    目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...

  4. Could not set property of class with value There is no setter for property named

    检查entity中类的属性与MAPPER中的resultMap属性是否一致

  5. 2019年小结&2020年展望

    每篇一句 If you want love, then this is it. This is real life. It's not perfect but it's real. --Before ...

  6. The Preliminary Contest for ICPC Asia Xuzhou 2019 B. so easy (unordered_map+并查集)

    这题单用map过不了,太慢了,所以改用unordered_map,对于前面删除的点,把它的父亲改成,后面一位数的父亲,初始化的时候,map里是零,说明它的父亲就是它本身,最后输出答案的时候,输出每一位 ...

  7. 【CSS属性#2】

    " 目录 一.盒子模型 二.外边距 margin 三.内填充 padding 四.浮动 float 五.清除浮动 clear 六.溢出 overflow 七.定位 position 1. 无 ...

  8. spring+mybatis报Cannot load JDBC driver

    今天做用maven搭建ssm框架的例子,在测试的时候一直报ava.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 这个异常,找 ...

  9. ASP.NET Core搭建多层网站架构【9.2-使用Castle.Core实现动态代理拦截器】

    2020/01/31, ASP.NET Core 3.1, VS2019, Autofac.Extras.DynamicProxy 4.5.0, Castle.Core.AsyncIntercepto ...

  10. Tensorflow机器学习入门——读取数据

    TensorFlow 中可以通过三种方式读取数据: 一.通过feed_dict传递数据: input1 = tf.placeholder(tf.float32) input2 = tf.placeho ...