博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BestCoder Round #46
阅读量:6358 次
发布时间:2019-06-23

本文共 1165 字,大约阅读时间需要 3 分钟。

1001 YJC tricks time

题目链接:

题意:给你时针和分针所成的角度,输出现在的时间,以10秒为单位

思路:每10秒,分针走1度,时针走分针的1/12,我们可以根据时间来分别计算出分针和时针走的度数(分针可能走多圈),然后计算出二者的夹角(按题目的格式*12000)

我们可以得到一张时间对夹角的map表,对于输入的夹角,去map中查找是否存在对应的时间即可,除了0和06:00:00以外其他的夹角都对应两个时间,这两个时间互补。

code:

1 #include 
2 #include
3 using namespace std; 4 const int MAXN = 43200; 5 const int MOD = 4320000; 6 map
mp; 7 8 void init() 9 {10 for (int i = 0; i < MAXN; i += 10)11 {12 int t1 = i * 1200 % MOD;13 int t2 = i * 100;14 int t = t1 - t2;15 if (t2 > t1) t = t2 - t1;16 if (t > 2160000) t = MOD - t;17 mp[t] = i;18 }19 }20 21 void solve(int n)22 {23 int hh = n / 3600;24 int mm = (n - hh * 3600) / 60;25 int ss = n - hh * 3600 - mm * 60;26 printf("%02d:%02d:%02d\n", hh, mm, ss);27 }28 29 int main()30 {31 init();32 int n;33 while (scanf("%d", &n) != EOF)34 {35 if (mp.count(n))36 {37 int t = mp[n];38 if (t != MAXN - t && t != 0) solve(MAXN - t);39 solve(t);40 }41 }42 return 0;43 }

 

转载于:https://www.cnblogs.com/ykzou/p/4621746.html

你可能感兴趣的文章
一例所有文件都打不开的数据恢复过程
查看>>
Oracle渗透,记录一下
查看>>
像看电影一样学OSPF
查看>>
说说加密与解密这对冤家 一
查看>>
安装 Hyper-V Server 2012 R2
查看>>
设定Windows计划任务定期执行PowerShell脚本
查看>>
第一章 MongoDb概述
查看>>
Android源码解析——AsyncTask
查看>>
第十二周学习进度条
查看>>
邮箱网站jsp+python源代码
查看>>
2017 Unity手游体检蓝皮书 — MOBA篇
查看>>
解决WebForm项目在高版本IE下控件显示异常的问题
查看>>
CentOS 6 使用 LXC
查看>>
mysql innodb 性能优化
查看>>
LINQ TO XML
查看>>
陈天石吴翰清顾嘉唯光速对话(汤晓鸥今天没有晒娃)
查看>>
如何修改Exchange Server 2010 默认设置来禁止用户创建通讯组
查看>>
菜鸟也玩mysql之安装篇
查看>>
Heartbeat V2版本基于ha-gui做高可用
查看>>
javascript:void(0)
查看>>