Problem A

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 745   Accepted Submission(s) : 89

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

给定两个三角形,判断两个三角形是否相似。
注意6个点的坐标严格两两不重合,并且肯定能组成三角形。
请注意,由于测试数据有多组,主函数可采用如下格式。
#include<stdio.h>
……
int main()
{
while(scanf() != EOF)
{
……
}
return 0;
}

Input

多组测试数据输入(200组左右)。
输入 6个点的坐标x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,前三个点表示第一个三角形的坐标,后三个点表示第二个三角形的坐标。
(1<=xi<=100,1<=yi<=100,xi,yi为int型)

Output

如果两个三角形相似输出Yes,否则输出No

Sample Input

0 1
1 1
1 0
4 3
3 3
3 4

Sample Output

Yes

Author

moonlike
 
我们把它们六条边算出来,然后排序,最小/另一个最小=比值=三角形周长/另外一个三角形周长(精度我是取1e-6)
#include<stdio.h>
//#include<bits/stdc++.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<sstream>
#include<set>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<limits.h>
#define inf 0x3fffffff
#define INF 0x3f3f3f3f
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define ULL unsigned long long
using namespace std;
double x1,y1,x2,y2,x3,y3;
double x4,y4,x5,y5,x6,y6;
double dis(double x_1,double y_1,double x_2,double y_2)
{
return sqrt((x_1-x_2)*(x_1-x_2)+(y_1-y_2)*(y_1-y_2));
}
int main()
{
double d[3];
double e[3];
double r1,r2;
while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4>>x5>>y5>>x6>>y6)
{
d[0]=dis(x1,y1,x2,y2);
d[1]=dis(x1,y1,x3,y3);
d[2]=dis(x2,y2,x3,y3);
e[0]=dis(x4,y4,x5,y5);
e[1]=dis(x4,y4,x6,y6);
e[2]=dis(x5,y5,x6,y6);
sort(d,d+3);
sort(e,e+3);
// cout<<d[0]<<endl;
// cout<<e[0]<<endl;
// printf("%f\n",d[0]/e[0]);
r1=(double)d[0]/e[0]*1.0;
r2=(double)(d[0]+d[1]+d[2])/(e[0]+e[1]+e[2])*1.0;
if(abs(r1-r2)<=1e-6)
{
puts("Yes");
}
else
{
puts("No");
}
}
return 0;
}

  

华东交通大学2015年ACM“双基”程序设计竞赛1001的更多相关文章

  1. 华东交通大学2015年ACM“双基”程序设计竞赛1002

    Problem B Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  2. 华东交通大学2015年ACM“双基”程序设计竞赛1007

    Problem G Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  3. 华东交通大学2015年ACM“双基”程序设计竞赛1003

    Problem C Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  4. 华东交通大学2015年ACM“双基”程序设计竞赛1005

    Problem E Time Limit : 3000/2000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  5. 华东交通大学2015年ACM“双基”程序设计竞赛1004

    Problem D Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  6. 华东交通大学2016年ACM“双基”程序设计竞赛 1001

    Problem Description 输入一个非负的int型整数,是奇数的话输出"ECJTU",是偶数则输出"ACM". Input 多组数据,每组数据输入一 ...

  7. 华东交通大学2017年ACM“双基”程序设计竞赛 1001

    Problem Description 最近流行吃鸡,那就直接输出一行"Winner winner ,chicken dinner!"(没有双引号)模板代码:#include &l ...

  8. 华东交通大学2018年ACM“双基”程序设计竞赛 C. 公式题 (2) (矩阵快速幂)

    题目链接:公式题 (2) 比赛链接:华东交通大学2018年ACM"双基"程序设计竞赛 题目描述 令f(n)=2f(n-1)+3f(n-2)+n,f(1)=1,f(2)=2 令g(n ...

  9. 华东交通大学2018年ACM“双基”程序设计竞赛部分题解

    链接:https://ac.nowcoder.com/acm/contest/221/C来源:牛客网 C-公式题(2) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

随机推荐

  1. 我的第一个Socket程序-SuperSocket使用入门(二)

    操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操操 辛辛苦苦写那么久的博客,最后手贱点了全屏富文本编辑器 ...

  2. java之链表

    链表是一种物理存储单元上非连续.非顺序的存储结构. 链表是由那几个部分组成的呢? 是由N个节点组成的       每一个节点分为两部分:                         1.数据域  ...

  3. python爬虫(6)--Requests库的用法

    1.安装 利用pip来安装reques库,进入pip的下载位置,打开cmd,默认地址为 C:\Python27\Scripts 可以看到文件中有pip.exe,直接在上面输入cmd回车,进入命令行界面 ...

  4. TCP UDP HTTP 的关系和区别

    TCP UDP HTTP 三者的关系: TCP/IP是个协议组,可分为四个层次:网络接口层.网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传 ...

  5. 【总结整理】WebGIS学习-thinkGIS(地理常识):

    ##地图知识 ###地图定义 地图是按照一定的法则,有选择地以二维或多维形式与手段在平面或球面上表示地球(或其它星球)若干现象的图形或图像,它具有严格的数学基础.符号系统.文字注记,并能用地图概括原则 ...

  6. 数字图像处理实验(3):PROJECT 02-03, Zooming and Shrinking Images by Pixel Replication 标签: 图像处理matlab 20

    实验要求: Zooming and Shrinking Images by Pixel Replication Objective To manipulate a technique of zoomi ...

  7. 并发调试和JDK8新特性

  8. setex()

    设置值和有效期 $redis->setex($key, $expire, $value);//$expire,有效期,单位秒 相当于 SET key value//设置键值 EXPIRE key ...

  9. PHP微信分享

    注意 : 分享需要认证微信订阅号或者服务号. php 代码(thinkphp): $appid='xxx';  $appsecret='xxxx';    $timestamp = time();   ...

  10. 按位操作符(Bitwise operators)

    按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制.十六进制或八进制数值.例如,十进制数9,用二进制表示则为1001.按 ...