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 ...
随机推荐
- pymongo 操作
python 操作 mongoDB 模块 pymongo 安装方法 sudo pip3 install pymongo 操作步骤 1. 创建数据库连接对象 conn = pymonge.MomgoCl ...
- JSON.stringify() 和 JSON.parse()
stringify()用于从一个对象解析出字符串,如 var obj = {x: 1, y: 2 } console.log(JSON.stringify(obj)) //{"x" ...
- luogu4705玩游戏
题解 我们要对于每个t,求一个(1/mn)sigma(ax+by)^t. 把系数不用管,把其他部分二项式展开一下: simga(ax^r*by^(t-r)*C(t,r)). 把组合数拆开,就变成了一个 ...
- GWAS群体分层 (Population stratification):利用plink对基因型进行PCA
一.为什么要做祖先成分的PCA? GWAS研究时经常碰到群体分层的现象,即该群体的祖先来源多样性,我们知道的,不同群体SNP频率不一样,导致后面做关联分析的时候可能出现假阳性位点(不一定是显著信号位点 ...
- boost库在windows上的安装
下载源码boost_1_70_0.zip 1.cmd进入boost源码包,运行bootstrap.bat生成bjam.exe 2.运行bjam.exe搞定 在visual studio配置 1. 项目 ...
- 小米平板2 win10 MIUI互刷教程
在这篇文章中,我们会为大家提供Windows 10版小米平板2刷入MIUI和MIUI版小米平板2刷入Windows 10的两组教程. 不过从Win 10刷MIUI需要用原生安卓系统过渡来统一bios版 ...
- div高度随浏览器窗口高度变化;
通过实际测试,按照网上的说法通过设置html,body{height: 100%:}, 然后让div以100%继承body的高度,这种做法是错误的,必须得上级有个设置固定的高度. 原生js代码(参照网 ...
- kubernetes云平台管理实战:deployment通过标签管理pod(十)
一.kubectl run命令拓展 1.RC创建 [root@k8s-master ~]# kubectl run web --generator=run/v1 --image=10.0.128.0: ...
- NOI-OJ 2.2 ID:8758 2的幂次方表示
思路 可以把任意一个数转化为2^a+2^b+2^c+...+2^n 例如137的二进制为10001001,这就等效于2^7+2^3+2^0 以上结果如何通过程序循环处理呢?需要把数字n分解为上述公式, ...
- redis远程连接报错记录
错误如下 redis可视化工具连接测试 telnet ip 6379 修改关键参数如下 #开通外网访问 # bind 127.0.0.1 #以后台方式运行 daemonize no #取消保护模式,保 ...