hdu 5276 YJC tricks time 数学

YJC tricks time

Time Limit: 20 Sec

Memory Limit: 256 MB

题目连接

http://acm.hdu.edu.cn/showproblem.php?pid=5276

Description

YJC收到了一份神秘礼物。是一个长成这样的钟。


YJC不是时间领主所以他并不能乱搞时间,但是这个钟实在是太难认了!所以他想来耍耍你。

现在YJC给你时针和分针间的夹角,让你告诉他现在是什么时候。

你将以以下格式给出可能的时间:
HH:MM:SS
分别表示小时,分钟,秒(比如:08:30:20)在这里使用12小时制,也就是说时间范围是从00:00:00到11:59:59

另外,YJC不想要太精确的时间,所以当且仅当SS mod 10 = 0,答案才合法。

Input

多组数据,数据组数 ≤1000。
对于每组数据每行输入一个整数x表示角度,为了方便x乘了12000(这样你就不用使用浮点型读入而可以使用整数)。在这题里我们使用角度制。角度按成的劣角算。所以x不会超过 12000∗180=2160000。

Output

对于每组数据:
输出T行。T表示这组数据答案总数。
以时间递增的顺序输出答案。(如果找不到合法答案,这组数据什么都不要输出)

Sample Input

99000
0

Sample Output

00:01:30
11:58:30
00:00:00

HINT

 

题意

 

题解:

初中数学题……

代码

#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <sstream>
#include <queue>
#include <typeinfo>
#include <fstream>
#include <map>
#include <stack>
typedef long long ll;
using namespace std;
//freopen("D.in","r",stdin);
//freopen("D.out","w",stdout);
#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
#define test freopen("test.txt","r",stdin)
#define maxn 1050005
#define mod 10007
#define eps 1e-9
const int inf=0x3f3f3f3f;
const ll infll = 0x3f3f3f3f3f3f3f3fLL;
inline ll read()
{
    ll x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
//**************************************************************************************
int kiss=360*12000;
int main()
{
    int x;
    while(cin>>x)
    {

        for(int i=0;i<12;i++)
        {
            for(int j=0;j<=59;j++)
            {
                for(int k=0;k<=50;k+=10)
                {
                    int t1=30*12000*i+6000*j+100*k;
                    int t2=12000*6*j+1200*k;
                    int t=(t1-t2);
                    while(t>=kiss)
                        t-=kiss;
                    while(t<0)
                        t+=kiss;
                    if(t>kiss/2)
                        t=kiss-t;
                    if(t==x)
                        printf("%02d:%02d:%02d\n",i,j,k);
                }
            }
        }
    }
}

 

你可能感兴趣的:(time)