QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#136602#245. Time ZonePlentyOfPenalty#100 ✓170ms3832kbC++20507b2023-08-09 09:16:172023-08-09 09:16:21

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-09 09:16:21]
  • 评测
  • 测评结果:100
  • 用时:170ms
  • 内存:3832kb
  • [2023-08-09 09:16:17]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int T,h,m;
char tim[114];
double z;
int toint(double x){
	return x<0?x-0.5:x+0.5;
}
int main(){
	scanf("%d",&T);
	while(T--){
		scanf("%d%d",&h,&m);
		scanf("%s",tim);
		if(tim[3]=='+'){
			sscanf(tim,"UTC+%lf",&z),z-=8;
			m+=toint(z*60);
		}else{
			sscanf(tim,"UTC-%lf",&z),z+=8;
			m-=z*60+0.5;
		}
		while(m<0)m+=60,--h;
		while(m>=60)m-=60,++h;
		while(h<0)h+=24;
		while(h>=24)h-=24;
		printf("%02d:%02d\n",h,m);
	}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 170ms
memory: 3832kb

input:

406080
0 0 UTC+0
0 0 UTC-0
0 0 UTC+0.1
0 0 UTC-0.1
0 0 UTC+0.2
0 0 UTC-0.2
0 0 UTC+0.3
0 0 UTC-0.3
0 0 UTC+0.4
0 0 UTC-0.4
0 0 UTC+0.5
0 0 UTC-0.5
0 0 UTC+0.6
0 0 UTC-0.6
0 0 UTC+0.7
0 0 UTC-0.7
0 0 UTC+0.8
0 0 UTC-0.8
0 0 UTC+0.9
0 0 UTC-0.9
0 0 UTC+1
0 0 UTC-1
0 0 UTC+1.1
0 0 UTC-1.1
0 0 UTC+1.2
0...

output:

16:00
16:00
16:06
15:54
16:12
15:48
16:18
15:42
16:24
15:36
16:30
15:30
16:36
15:24
16:42
15:18
16:48
15:12
16:54
15:06
17:00
15:00
17:06
14:54
17:12
14:48
17:18
14:42
17:24
14:36
17:30
14:30
17:36
14:24
17:42
14:18
17:48
14:12
17:54
14:06
18:00
14:00
18:06
13:54
18:12
13:48
18:18
13:42
18:24
13:36
...

result:

ok 406080 lines