【HDOJ】1006 Tick and Tick_天涯浪子_新浪博客
【题目】 http://acm.hdu.edu.cn/showproblem.php?pid=1006
【报告】
感谢学校的张博文学长给我大致讲解了这道题的做法。以及感谢度娘让我找到了一个不错的解法(http://hi.baidu.com/guoxiangke2008/blog/item/72c59bd5e51841cc51da4bd4.html)。
以下是聊天记录:
计科09-张博文(810311398) 11:31:05
hdu 1006么?
@计科12-施尔宁
计科09-张博文(810311398) 11:31:49
因为每个指针的角速度恒定
所以每个指针的相对角速度恒定
计科09-张博文(810311398) 11:32:52
所以函数图象应该是
这样的三角形的重复
在d和360-d中间的即为所求区域
计科09-张博文(810311398) 11:34:06
题目说三个指针两两happy
所以就是三个这样的图象的公共区间
代码如下:
#include <cstdio>
#include <algorithm>
using namespace std;
const double UB=43200;
const double hm=11.0/120,hs=719.0/120,sm=59.0/10;
const double T_hm=UB/11,T_hs=UB/719,T_sm=3600.0/59;
int main()
{
double d;
double s[3],e[3],ts[3],te[3];
while(scanf("%lf",&d),d!=-1)
{
s[0]=d/hm;
s[1]=d/hs;
s[2]=d/sm;
e[0]=(360-d)/hm;
e[1]=(360-d)/hs;
e[2]=(360-d)/sm;
double sum=0;
for(ts[0]=s[0],te[0]=e[0];ts[0]<UB;ts[0]+=T_hm,te[0]+=T_hm)
{
if(te[0]>UB) te[0]=UB;
for(ts[1]=s[1],te[1]=e[1];ts[1]<UB;ts[1]+=T_hs,te[1]+=T_hs)
{
if(ts[1]>te[0])
break;
if(te[1]<ts[0])
continue;
if(te[1]>UB) te[1]=UB;
for(ts[2]=s[2],te[2]=e[2];ts[2]<UB;ts[2]+=T_sm,te[2]+=T_sm)
{
if(ts[2]>te[1]||ts[2]>te[0])
break;
if(te[1]<ts[0]||te[1]<ts[1])
continue;
if(te[2]>UB) te[2]=UB;
double start=max(max(ts[0],ts[1]),ts[2]);
double end=min(min(te[0],te[1]),te[2]);
if(end>start)sum+=end-start;
}
}
}
printf("%.3f\n",sum*100.0/UB);
}
return 0;
}
别的我不说了,这两个自己选一个玩吧
【程序】
// TASK: Tick and Tick
#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
inline double min(double a,double b)
{
return (a<b)?a:b;
}
inline double max(double a,double b)
{
return (a>b)?a:b;
}
class extent
{
public:
double a,b;
extent ()
{
a=b=0;
}
extent (double A,double B)
{
a=A,b=B;
if (a>b) a=b=0;
}
void print ()
{
cout << a << " " << b << endl;
}
double length()
{
【HDOJ】1006 Tick and Tick_天涯浪子_新浪博客相关推荐
- 【HDOJ】1003 Max Sum_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1003 [报告] 既然是子区间加和问题,可以用减法来处理.比如求[5..10]的和,可以直接用[1..10 ...
- 【HDOJ】5007 Post Robot_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=5007 [报告] 闲来无事刷水题-- 直接暴力判断是否相同就行了,连KMP都不用.简单粗暴. [程序] ...
- 【HDOJ】4607 Park Visit_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4607 [报告] 根据题意,就是求给定一棵树上经过K个点的最短路径,可以从任意节点开始到任意节点结束. 很 ...
- 【HDOJ】1018 Big Number_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1018 [报告] 首先,暴力模拟是绝对会TLE的..然后看了别人的题解,发现有个斯特林公式(Stirlin ...
- 【HDOJ】1021 Fibonacci Again_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1021 [报告] 题意是问F[i]是否能被3整除. 根据 (a+b)%m=(a%m+b%m)%m 原则(具 ...
- 【HDOJ】4662 MU Puzzle_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4662 [报告] 按照题目意思,第一条,可以把M后面的复制一份,第二条,可以把3个I换成一个U,第三条,可 ...
- 【HDOJ】4642 Fliping game_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4642 [报告] 一开始把N,M和n,m当成不一样的..然后死活过不去的节奏... 后来...看了解题报告 ...
- 【HDOJ】1005 Number Sequence_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1005 [报告] 这道明显是数学题,但如果按位枚举显然是要TLE的. 仔细思考,它有一个MOD 7,这个很 ...
- 【HDOJ】1009 FatMouse' Trade_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1009 [报告] 粗一看题目,哇,SF了,部分背包,贪心! 然后一交,满心期待AC,结果悲剧的WA了. 百 ...
最新文章
- 【荐】如何规划 Nginx 网站目录的权限(用户,用户组,ssh,sftp)
- 查看hive中某个表中的数据、表结构及所在路径
- Bootstrap 学习笔记4 巨幕页头略缩图警告框
- 理解 Azure AD 安全默认值设置
- svn之bash: syntax error near unexpected token `(‘ 解决办法
- bzoj3687简单题*
- 【C++ 与 STL】栈:stack
- iOS - 蓝牙开发(中心模式)
- 脉冲电子围栏在国家公园安全防护中的作用
- edge同步chrome书签_如何通过 iCloud 同步 chromium edge 的书签?
- iar 堆栈设置_IAR开发STM32堆栈设置
- 为什么外包公司这么不受欢迎 ?
- doctrine 事件
- EMC共模干扰处理,共模扼流圈的应用和选型。
- 全网刷屏的可达鸭,单个炒到2000元?湖北人要错过了?
- Android逆向学习之如何在抖音发链接
- 百度天气预报接口使用详细
- 学习HC-SR04超声波测距模块,代码附带卡尔曼滤波
- 这40款优质APP大合集,总有一个适合你!
- 一目了然——二叉树的遍历(先序,中序,后序遍历)
热门文章
- 怎么样使用腾讯云轻量应用服务器搭建一个团队轻量wiki
- 《JavaWeb视频教程》(p32)
- 搭建FTP服务器出现的“FTP文件夹错误”解决方法
- 30-Figma-常规配图添加方式-批量配图
- WSL构建nRF5 SDK + ARM GCC开发环境 – RTT打印调试日志
- 巴比特 | 元宇宙每日必读:美版权局判定用AI工具生成的图片不受版权保护,官方解释:AI生成具有不可预测性,但并非一刀切...
- 【跃迁之路】【701天】程序员高效学习方法论探索系列(实验阶段458-2019.1.21)...
- Ubuntu18.04和win10使用zerotier one进行mstsc远程连接
- 趣谈网络原理 多交换机和VLAN(自我提升第十七天)
- 廖雪峰git读书笔记--添加远程库