2 条题解
-
1
这一题我承认有点坑。
因为
24:00等价于00:00,01:60等价于02:00。所以这一题更推荐推公式来解决,不知道有没有其他乱七八糟的解法。公式其实也比较好推:
- 由于时间是循环的(24 小时制),我们考虑 24 小时 = 1440 分钟 为一个周期。
- 然后考虑两段时间的时间差,选择向前或者向后更优者即可
附带一个小知识点,
scanf可以处理这种乱七八糟的输入,详见代码。(附:某某教练曾被此题坑点斩于马下,所以大家以后写题一定要认真读题,认真分析性质!)
#include <iostream> #include <algorithm> using namespace std; int main() { int a1,b1,a2,b2; scanf("%d:%d",&a1,&b1); scanf("%d:%d",&a2,&b2); int T1=a1*60+b1; int T2=a2*60+b2; int delta=(T2-T1+1440)%1440; int ans=min(delta,1440-delta); printf("%d",ans); return 0; }
- 1
信息
- ID
- 8
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 148
- 已通过
- 37
- 上传者