#include<iostream>
#include<fstream>
#include<cstdio>
#include<iomanip>
#include<algorithm>
#include<vector>
#include<set>
#include<list>
#include<queue>
#include<deque>
#include<unordered_map>
#include<map>
#include<string>
#include<cstring>
#include<stack>
#include<cmath>
#define vint vector<int>
#define vstr vector<string>
#define vll vector<long long>
#define ll long long
#define pf printf
#define sf scanf
#define sfd(n) scanf("%d", &n)
#define sflf(n) scanf("%lf", &n)
#define sfll(n) scanf("%lld", &n)
#define pfd(n) printf("%d", n)
#define pflf(n) printf("%lf", n)
#define pfll(n) printf("%lld", n)
#define pft printf("\t")
#define pfn printf("\n")
#define pfk printf(" ")
#define PI 3.1415926
#define MAX 100000
#define M 1e9
using namespace std;
int main() {
int t;
sfd(t);
while( t-- ) {
int h, m, s;
cin >> h >> m >> s;
/* 表盘分成43200格
每秒钟:
分针走12格;
时针走1格;
每分钟:
分针走720格;
时针走60格;
*/
int ans;
h %= 12;//题目给的范围是0<=h<=24, 因为表盘只有12个小时,所以要对12取余;
h = h*3600 + m*60 + s;
m = m*720 + s*12;
// cout << "h = " << h << " m = " << m << endl;
ans = abs(h-m);
if( ans==21600 ) {
ans = 180;
}else {
if( ans>21600 ) {
ans = 43200-ans;
}
ans /= 120;
}
pfd(ans);
pfn;
}
return 0;
}
夹角有多大(题目已修改,注意读题) HDU - 2076 题解
最新推荐文章于 2024-03-16 22:52:45 发布
本文介绍了一种计算钟表上秒针与时针之间角度的算法,通过将时间转换为特定的格数,再计算两针之间的相对位置,最后转换为角度。此算法适用于解决与钟面相关的问题。
1659

被折叠的 条评论
为什么被折叠?



