hdu5705
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5705
题目:
1. The angle formed by the hour hand and the minute hand is a
2. The time may not be a integer(e.g. 12:34:56.78), rounded down(the previous example 12:34:56).
Input
Each test case contains two lines.
The first line is the time HH:MM:SS(0≤HH<12,0≤MM<60,0≤SS<60)
The second line contains one integer a(0≤a≤180)
题意:给出时间 HH:MM:SS 角度a 问下一个H和M的角度为a的时刻?
思路:
时针每小时30度,每分钟30/60度,每秒1/120 (3600,60,1)
分针每小时360,每分钟6度,每秒6/60,1/10度; (,720,12)避免精度问题全部乘以120
算出h,m初始角度 h,m之间角度为deg=abs(h-m),暴力枚举几秒后deg==a即可,O(T)
参考:http://www.bubuko.com/infodetail-2051662.html
代码:
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> ii;
const double eps=1e-;
const int N=2e5+;
int a;
int main()
{
int cas=;
int h,m,s;
while(~scanf("%d:%d:%d",&h,&m,&s))
{
cin>>a;
a*=;
int sum=h*+m*+s;//总的时间(秒)
//h,m初始角度
int hh=sum%(*);
int mm=(sum*)%(*); int ans=;//暴力枚举几秒后
while(true)
{
hh=(hh+)%(*);//时针每秒1/120度,但由于乘了120,所以每次+1度
mm=(mm+)%(*);//分针每秒1/10度,但由于乘了120,所以分针1秒离散成12度
ans++;
int deg=abs(hh-mm);//h,m角度
if(abs(deg-a)<=)//误差在1度内
break;
}
int anss=(ans+s)%;
int ansm=((ans+s)/+m)%;
int ansh=(((ans+s)/+m)/+h)%;
printf("Case #%d: %02d:%02d:%02d\n",cas++,ansh,ansm,anss);
}
return ;
}
hdu5705的更多相关文章
- HDU-5705
Clock Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Problem De ...
- 2016女生专场 ABCDEF题解 其他待补...
GHIJ待补... A.HUD5702:Solving Order Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3276 ...
随机推荐
- Python Installing Jupyter
Jupyter说明jupyter notebook是一款网页版的Python编辑器组件,便于学习Python Jupyer安装yum -y install gcc gcc-c++ kernel-dev ...
- Linux基本命令总结(六)
接上篇: 27,diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输 ...
- zkclient中包引用不对,导致NoSuchMethodError
nidonglin commented on 31 Oct 2014 Exception in thread "main" java.lang.NoSuchMethodError: ...
- jq常用操作
1. 将滚动条置于底部 var srcH = $(".msg-IOC").prop("scrollHeight");$('.msg-IOC').scrollTo ...
- 20165232 实现pwd
20165232 实现mypwd 题目要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd 学习pwd命令 用man pwd 查看 ...
- python集合(set)的运算
1.交集 In [1]: a = {1,2,3,4} In [2]: b = {3,4,5,6} In [3]: a & b Out[3]: {3, 4} In [4]: a.intersec ...
- CSS之使用display:inline-block来布局
css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, inline-block inline(行内元素): 使元素变成行内 ...
- ssh远程登陆脚本(带跳板机)
mac自带的终端不太好用,被推荐了一个iterm2的终端替代工具,确实比自带的终端好用不少.下面记录下通过脚本一键远程登录的过程: 下载地址:http://m4.pc6.com/xuh3/iTerm2 ...
- shell 批量检测远程端口
[DNyunwei@YZSJHL24-209 li]$ cat port.sh #!/bin/bash # ip=`cat iplist` for i in $ip;do port=`ssh -t $ ...
- webpack安装异常
webpack中文指南:https://zhaoda.net/webpack-handbook/index.html 今天中午,我用 cnpm install 重新下载了一下项目的依赖,爆了一 ...