CSU1626 Time Warp
来源:互联网 发布:淘宝20万店铺数据下载 编辑:程序博客网 时间:2024/06/10 06:18
题目链接:
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=170523
题意:
问从这个整点出发,之前或之后时针与分针成一个角度的时刻。
思路:
模拟题。错误点是之前情况的时间的转换,其中最难发现的地方是时针处什么时候-mi%60,什么时候-mi/60-1。应该是se%3600 == 0而不是mi%60 == 0;
源码:
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main()
{
// freopen("data.txt","r",stdin);
// freopen("data1.txt","w",stdout);
int t;scanf("%d",&t);
for(int i = 1; i<= t; i++){
int a,b;
char ss[20];
scanf("%d%s%d",&a,ss,&b);
int flag = ss[0]=='a'?1:0;
// printf("flag = %d\n",flag);
int len;
int pre = a;
int now = (12-b)*30;
if(flag){
if(pre < now)
len = 360+pre-now;
else
len = pre-now;
}
else{
if(pre <= now)
len = now - pre;
else
len = 360 - pre + now;
}
if(len == 0)
len = 360;
double ti = 120.0 * len / 11;
// printf("len = %d,ti = %f\n",len,ti);
int se = ti;
if(ti- se >= 0.5)
se++;
int mi,ho;
if(flag){
// if(ti - se >= 0.5)
// se++;
mi = se / 60;
ho = mi / 60 + b;
mi %= 60;
se %= 60;
}
else{
// if(ti - se < 0.5)
// se++;
// printf("use time is se = %d,mi= %d,ho = %d\n",se,se/60,se/3600);
mi = se / 60;
// printf("first mi =%d\n",mi);
if(se % 3600 == 0)
ho = b - mi / 60;
else
ho = b - mi / 60 - 1;
if(se % 60 == 0)
mi = (60 - mi%60)%60;
else
mi = (59 - mi%60);
// printf("for mi =%d\n",mi);
se = (60 - se%60)%60;
}
if(ho > 12)
ho -= 12;
if(ho < 1)
ho += 12;
printf("Case %d: %d:%02d:%02d\n",i,ho,mi,se);
}
return 0;
}
//19 : 34 : 15 + 0 : 25 : 45 = 20 : 00 : 00
// 25 * 60 + 45 = 1500 + 45 = 1545
//19 : 35 : 00 + 0 : 25 : 00 = 20 : 00 : 00
// 25 * 60 = 1500
- CSU1626: Time Warp
- CSU1626 Time Warp
- Time Warp in Animation
- Gym 100641 H Time Warp || 追击问题
- 解释VR的时间扭曲(time-warp)
- warP()
- warp
- cuda warp
- Warp-CTC
- CUDA术语Warp
- [warp portal] Python Tutorials
- Thread与Warp
- OpenGL-----Projective Image Warp
- Use the CUDA Warp Watch
- jquery_dom 包裹节点(warp() warpAll())
- [warp portal] tech news websites
- UVAL 6147 Warp Speed II
- 解读SM, SP和Warp
- 欢迎使用CSDN-markdown编辑器
- cookies!=i<cookies.length&&null;
- 疯狂Java学习笔记(37)----------List集合
- 输出char[]数组
- 【ThinkingInJava】41、捕获转换
- CSU1626 Time Warp
- 变动间距时间序列报表的绘制
- 【ThinkingInJava】42、装饰器设计模式
- Raspberry Pi: How to set up WiFi
- 【ThinkingInJava】43、与动态代理混合的装饰器模式
- 主控芯片
- Spring 注解学习手札(一) 构建简单Web应用GOOD
- 是是是
- Android开发之JNI(一)——概述