hdu_5705_Clock("巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场)

原创 2016年05月31日 18:36:05

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5705

题意:给你一个时间和一个角度,问你下一个时针和分针形成给出的角度是什么时候

题解:我们可以将这个问题看成追及问题,考虑时针:每小时30°,每分钟1/2°,每秒1/120°,考虑分针:没分钟6°,每秒1/10°,如果我把全部同时乘一个120,不就能避免精度造成的问题了吗!现在再来考虑时针和分针的位置情况:这里我们以分针按顺时针的方向到时针


1:当时针和分针的θ∠大于180*120时(1)当(360*120-θ)大于给出的角度an时,需要的时间ans=h+(θ-an*120)/11,/11是因为每秒钟时针走1°,分针走12°。(2)当(360*120-θ)小于给出的角度an时,需要的时间ans=h+(θ-(360-an)*120)/11

2:当时针和分针的θ∠小于180*120时(1)当(360*120-θ)大于给出的角度an时,需要的时间ans=h+(θ-an*120)/11。(2)当(360*120-θ)小于给出的角度an时,需要的时间ans=h+(θ+an*120)/11。

最后再根据经过的时间算出当前的时间

#include<cstdio>
int hh,mm,ss,ic=1,h,m,s,an,d,ans,mo=120*360,mod=120*180;
void fuck(){
	s++,h=(3600*h+m*60+s)%mo,m=(m*720+12*s)%mo,d=(h+mo-m)%mo;
	if(d>=mod)if(an*120<mo-d)ans=h+(d-an*120)/11;else ans=h+(d-(360-an)*120)/11;
	else if(an*120<=d)ans=h+(d-an*120)/11;else ans=h+(d+an*120)/11;
}
int main(){
	while(~scanf("%d:%d:%d%d",&h,&m,&s,&an))
	fuck(),printf("Case #%d: %02d:%02d:%02d\n",ic++,ans/3600%12,ans/60%60,ans%60);
	return 0;
}



版权声明:CSDN感觉没博客园好用,而且还有广告,界面也不是很好看,所以换到博客园去了 新博客地址:www.cnblogs.com/bin-gege/

HDU "巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场 Combine String

【题意】给了你一个字符串a,b,c!问你c能不能由a,b来拼凑成! 【分析&解题思路】 dp[i][j]表示第一个字符串用了前i个位置(第i个位置已匹配),第二个字符串的前j个位置(第j个位置已匹配...
  • just_sort
  • just_sort
  • 2016年05月28日 20:11
  • 538

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现) HDU 5702

Solving Order Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To...
  • sky_miange
  • sky_miange
  • 2016年05月28日 21:48
  • 532

2017程序设计竞赛 - 女生专场【记录】

去年作为大一的菜鸡做了两个题。。。连dfs都没写出来,本来以为今年可以和大神组队,结果今年和两个小学妹组队,所以刚开始目标定的也不高,只求不打铁,结果发挥超常总排名33(减去5个打星的28)差三名就银...
  • Puyar_
  • Puyar_
  • 2017年05月07日 22:38
  • 338

2017中国大学生程序设计竞赛 - 女生专场(重现)

1001 代码:#include using namespace std;struct node { int flag,sum; }a[10000];int main() { int...
  • silver_bone
  • silver_bone
  • 2017年05月07日 20:52
  • 745

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现)解题思路

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现)解题思路
  • queuelovestack
  • queuelovestack
  • 2016年05月28日 19:15
  • 6314

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场 Combine String

题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1006&cid=714 题意:给你两个字符串a和b,再给你一个字符串c...
  • RaAlGhul
  • RaAlGhul
  • 2016年05月29日 10:47
  • 478

2017中国大学生程序设计竞赛 - 女生专场 个人训练总结【(7+1)/10】

hdu的题目,我挂到了VJ上 VJ链接: https://cn.vjudge.net/contest/165580#overview hdoj链接:太长了 戳这里就好了给妹子们出的题目,貌似没有那...
  • qq_33184171
  • qq_33184171
  • 2017年05月28日 17:03
  • 1075

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场-1001-Solving Order

Solving Order Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To...
  • kyoma
  • kyoma
  • 2016年07月20日 01:30
  • 402

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场 1001-1006

1001 Solving Order 水,签到 /* *********************************************** Author :angon **...
  • AngOn823
  • AngOn823
  • 2016年05月28日 18:09
  • 720

hdu_5707_Combine String("巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5707 题意:给你三个字符串 a,b,c,问你 c能否拆成a,b,a,b串的每一个字符在c中不能变 ...
  • bin_gege
  • bin_gege
  • 2016年05月30日 23:52
  • 444
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu_5705_Clock("巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场)
举报原因:
原因补充:

(最多只允许输入30个字)