A. Srdce and Triangle--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
如下图这是“今日头条杯”首届湖北省大学程序设计竞赛的第一题,作为赛后补题
题目描述:链接点此
这套题的github地址(里面包含了数据,题解,现场排名):点此

Let be a regualr triangle, and D is a point in the triangle. Given the angle of
. Then let AD, CD and BD form a new triangle, what is the size of the three angles?
输入描述:
Input contains multiple cases, please process to the end of input.
For each line in the input, contains three integers, $\alpha, \beta, \gamma$, which are the size of the angel ,
and
in degree.
输出描述:
For each line of input, output one line with three numbers in ascending order, the three angles in the new triangle, your answer will be considered as correct if and only if the relative or absolute error is less than
, If the new triangle cannot be formed, output -1 -1 -1 instead.
题目解析:就是一个等边三角形,然后在等边三角形内有一点D,已知 ,
and
,求以AD,BD,CD为边构成的三角形的内角。
现场列了三个方程:

但是很难受,解方程解了3个小时,并没有算出来(可能是我数学太弱了),后来想二分,二分角DAB,但是现场wa了,回头补上来,
现在说一种十分简单的方法:
这是不是一个代数题,是一道解题目,我们把三角形ABC逆时针旋转60度,如下图:

就会出现以abc为边构成的三角形PP'C,由于ΔAPP'是等边三角形,所以可以求出三个角分别为 ,
and
减去60度,这是个水题啊。(ORZ,卡了4个小时)
/*
data:2018.04.22
author:gsw
link:https://www.nowcoder.com/acm/contest/104#question
tip:武大校赛--补题
*/
#define IO ios::sync_with_stdio(false);
#define ll long long #include<iostream>
#include<string.h>
#include<math.h>
#include<stdio.h>
#include<vector>
#include<algorithm> using namespace std; int main()
{
int a,b,c;
while(~scanf("%d%d%d",&a,&b,&c))
{
int ans[];
ans[]=a-;
ans[]=b-;
ans[]=c-;
sort(ans,ans+);
printf("%d %d %d\n",ans[],ans[],ans[]);
}
}
下面会有二分的做法:
对角DAB进行二分,我试了好几次,把所有的优化都做了,要把esp调到1e-12才可以过
然后注意几点优化:把所有的变量定义放在外面,这个优化挺重要的。
/*
data:2018.04.22
author:gsw
link:https://www.nowcoder.com/acm/contest/104#question
tip:武大校赛--补题
*/
#define IO ios::sync_with_stdio(false);
#define ll long long #include<iostream>
#include<string.h>
#include<math.h>
#include<stdio.h>
#include<vector>
#include<algorithm>
int a,b,c;
using namespace std; const double expp=1e-;
const double pi=3.14159265358;
const double g3=sqrt()/;
double cosc,x,y,ad,cd,bd,cos_c,th1,th2,mid,ans[];
inline bool judge(double th1)
{
th2=-a-th1;
th1=th1/*pi;th2=th2/*pi;
th1=tan(th1);th2=tan(th2);
x=th2/(th2+th1);
y=x*th1;
//cout<<"x= "<<x<<" "<<y<<endl;
ad=x*x+y*y;
cd=(x-0.5)*(x-0.5)+(y-g3)*(y-g3);
cos_c=(ad+cd-)/(*sqrt(ad*cd));
//cout<<cos_c<<" "<<cosc<<endl;
if(cos_c>cosc)return ;
else return ;
}
inline double ef(double l,double r)
{
while(r-l>expp)
{
mid=(l+r)/;
if(judge(mid))l=mid;
else r=mid;
//cout<<l<<" "<<r<<endl;
}
return l;
}
int main()
{
//freopen("temin.txt","r",stdin);
//freopen("temout.txt","w",stdout); while(~scanf("%d%d%d",&a,&b,&c))
{
cosc=cos((double)c/*pi);
th1=ef(,min(-a,));
th2=-a-th1;
th1=th1/*pi;th2=th2/*pi;
th1=tan(th1);th2=tan(th2);
x=th2/(th2+th1);
y=x*th1;//th2*th1/(th2+th1);
//cout<<x<<" "<<y<<endl;
ad=x*x+y*y;
cd=(x-0.5)*(x-0.5)+(y-g3)*(y-g3);
bd=(x-)*(x-)+y*y;
//cout<<ad<<" "<<cd<<" "<<bd<<endl;
ans[]=acos((ad+cd-bd)/(*sqrt(ad*cd)))/pi*;
ans[]=acos((ad+bd-cd)/(*sqrt(ad*bd)))/pi*;
ans[]=acos((bd+cd-ad)/(*sqrt(bd*cd)))/pi*;
sort(ans,ans+);
printf("%f %f %f\n",ans[],ans[],ans[]);
}
}

再此跟新::

这个优化还是不到位啊,有时t,有时A。时间总是差个几毫秒
A. Srdce and Triangle--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)的更多相关文章
- “今日头条杯”首届湖北省大学程序设计竞赛--F. Flower Road
题目链接:点这 github链接:(包含数据和代码,题解):点这 链接:https://www.nowcoder.com/acm/contest/104/E来源:牛客网 题目描述 (受限于评测机,此题 ...
- “今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛 )--E. DoveCCL and Resistance
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/D来源:牛客网 题目描述 ...
- I. Five Day Couple--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/H来源:牛客网 题目描述 ...
- D. Who killed Cock Robin--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 由于系统限制,C题无法在此评测,此题为现场赛的D题 Who killed Cock Robin? I, ...
- H. GSS and Simple Math Problem--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 Given n positive integers , your task is to calculat ...
- “东信杯”广西大学第一届程序设计竞赛(同步赛)H
链接:https://ac.nowcoder.com/acm/contest/283/H来源:牛客网 题目描述 由于临近广西大学建校90周年校庆,西大开始了喜闻乐见的校园修缮工程! 然后问题出现了,西 ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)E-缺席的神官
链接:https://ac.nowcoder.com/acm/contest/3036/E 来源:牛客网 题目描述 面前的巨汉,让我想起了多年前的那次,但这个巨汉身上散布着让人畏惧害怕的黑雾.即使看不 ...
- Minieye杯第十五届华中科技大学程序设计邀请赛现场同步赛 I Matrix Again
Minieye杯第十五届华中科技大学程序设计邀请赛现场同步赛 I Matrix Again https://ac.nowcoder.com/acm/contest/700/I 时间限制:C/C++ 1 ...
- 2018今日头条杯 E-Jump a Jump
Problem E. Jump A JumpInput file: standard inputOutput file: standard outputTime limit: 1 secondsMemor ...
随机推荐
- 大碗宽面Beta阶段第十一周会议记录
本周二晚上我们在宿舍楼的大厅进行了本周的小组会议,虽然天气很冷,但大家都还是如数到场,积极参加小组会议.对于上周的任务大家都努力完成,在前端方面,大家完善了主页面和一些分页面,主要有导航栏界面的完成. ...
- delphi 监控文件系统
elphi 监控文件系统 你是否想为你的Windows加上一双眼睛,察看使用者在机器上所做的各种操作(例如建立.删除文件:改变文件或目录名字)呢? 这里介绍一种利用Windows未公开函数实现这个功能 ...
- AcWing 207. 球形空间产生器 (高斯消元)打卡
有一个球形空间产生器能够在n维空间中产生一个坚硬的球体. 现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器. ...
- 微信小程序学习笔记(四)--框架-视图层
WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. 数据绑定 使用{{}}绑定数据. 简单绑定 <view clas ...
- 2019山东省ACM省赛菜鸡的赛后总结
省赛总结 2019-05-13 21:27:40 虽然第一次就死的这么难看,但是的确发现了很多问题,我想这是未来我和我的队友要解决的,而不是去难过,去感慨自己是有多菜.在大一训练结束马上参加暑假集训的 ...
- Qt5.2中使用ping命令实现Ip扫描功能
在实现类似于Free IP Scanner 2.1的Ip扫描器软件中,会用到ping命令.如果使用Qt编程实现,主要会用QThread.QProcess这两个类.关于这两个类的具体用法可以查阅Qt助手 ...
- Qt4 QWebView的使用例子
最近项目中使用QT4框架开发PC端软件,所以耐着性子学习了一下QT相关的东西. 下面是QT4中QWebView的使用方法,觉得蛮方便的. 我使用的开发环境是:Win7+Qt 4.8.5开发库+qtcr ...
- overflow:hidden失效
overflow:hidden失效 为了页面的健壮性,我们常常需要使用overflow:hidden.有时候是为了防止布局被撑开,有时候是为了配合其它规则实现文字截断,还有时候纯粹是为了创建块级上下文 ...
- Python- 接口类-抽象类
接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接 ...
- Python之小测试:用正则表达式写一个小爬虫用于保存贴吧里的所有图片
很简单的两步: 1.获取网页源代码 2.利用正则表达式提取出图片地址 3.下载 #!/usr/bin/python #coding=utf8 import re # 正则表达式 import urll ...