链接
思路
模拟题,这个题很好理解,就是比较烦,但是其实不用想的那么细,除了11点这个特殊情况要注意就没啥了,练习时因为一个11点初始化那个小细节卡了很久。解题时判断针的相对位置就可以了。
#include <cstdio>
#include <iostream>
#include <string.h>
using namespace std;
int main(){
int n;
cin >> n;
int a, c;
float b, d;
for(int i = 0; i < n; i++){
cin >> a >> b >> c >> d;
if (a % 12 == 11){
a++;
b = 0.0; //之前这里没写,一直WA
}
int aa, cc;
aa = a % 12;
cc = c % 12;
if(b > (aa*5 + b/12.0)){
a++;
}
if(d >= (cc*5 + d/12.0)){
c++;
}
float sum = 0.0;
for(int j = a; j < c; j++){
if(j == 11 || j == 23){
continue;
}
else{
sum++;
}
}
cout << sum << endl;
}
}