宣传一下USACO月赛打卡活动题解汇总
宣传一下春季每日一题题解
这道题实在是太水啦!
水道我错了两次
这道题关键就是求从十一日十一时十一分到给定日期过了多少分钟。
那么就可以用差值来计算。
算一下日期、小时和分钟的差值,全部转化单位为分钟,最后全部加起来即可。
#include <bits/stdc++.h>
using namespace std;
int main() {
int d, h, m;
scanf("%d%d%d", &d, &h, &m);
d = (d - 11) * 1440;
h = (h - 11) * 60;
m = m - 11;
if (d + h + m >= 0) printf("%d\n", d + h + m);
else puts("-1");
return 0;
}
那样会不会出现那种比如边界问题呀, 比如日期虽然差一天,但是实际上差值不足24小时的情况
既然日期差一天,那么至少就已经差了24小时了,怎么可能会出现“实际上差值不足24小时”的情况?还是说您认为我的进位有问题
就是比如1月1日23时和1月2日5时, 两者实际差6小时,但是日期一个是1日,一个是2日,这种咋办呀
这种情况我的代码应该也是正确的,因为这样的话它的小时增量和分钟增量是负的,抵消掉了日期增量
我也错了两次真的c了