HDU 6308 - Time Zone [2018杭电多校联赛第一场 K](模拟)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6308
【题意】
给你某个时区的时间,让你转换成东八区的时间,格式为hh mm UTC+X(UTC-X UTC+X.Y或者是UTC-X.Y)的形式
【思路】
把时间都换成分钟计算,按题意模拟即可,最后取模防止时间为负数或超过23:59
#include<bits/stdc++.h>
using namespace std;
int main(){
int T;
scanf("%d",&T);
while(T--){
int h,m;
char s[50];
scanf("%d%d%s",&h,&m,s);
h=h*60+m;
int len=strlen(s);
int tmp=-60*8;
if(s[3]=='+'){
tmp+=60*atoi(s+4);
if(len>6) tmp+=6*(s[len-1]-'0');
}
else{
tmp-=60*atoi(s+4);
if(len>6) tmp-=6*(s[len-1]-'0');
}
h+=tmp;
h=(h+24*60)%(24*60);
printf("%02d:%02d\n",h/60,h%60);
}
return 0;
}