码迷,mamicode.com
首页 > 编程语言 > 详细

hdu 1209 Clock(排序)

时间:2015-08-14 13:20:10      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

题意:按钟表的时针、分针的夹角对5个时间进行升序排序,输出第3个时间

思路:排序

注意:若夹角相同,则按时间进行升序排序

技术分享
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;

struct node{
    int ti[2];
    double ang;
}a[5];

int cmp(node a,node b){
    if(a.ang!=b.ang)return a.ang<b.ang;
    if(a.ti[0]!=b.ti[0])return a.ti[0]<b.ti[0];
    return a.ti[1]<b.ti[1];
}

int main(){
    int t,i;
    scanf("%d",&t);
    while(t--){
        for(i=0;i<5;++i){
            scanf("%d:%d",&a[i].ti[0],&a[i].ti[1]);
            if(a[i].ti[0]>12)a[i].ang=(a[i].ti[0]-12)*30+a[i].ti[1]*0.5-a[i].ti[1]*6;
            else a[i].ang=a[i].ti[0]*30+a[i].ti[1]*0.5-a[i].ti[1]*6;
            if(a[i].ang<0)a[i].ang=-a[i].ang;
            if(a[i].ang>180)a[i].ang=360-a[i].ang;
        }
        sort(a,a+5,cmp);
        printf("%02d:%02d\n",a[2].ti[0],a[2].ti[1]);
    }
    return 0;
}
View Code

 

hdu 1209 Clock(排序)

标签:

原文地址:http://www.cnblogs.com/bofengyu/p/4729563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!