-
Notifications
You must be signed in to change notification settings - Fork 0
/
h008.cpp
89 lines (72 loc) · 1020 Bytes
/
h008.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include<iostream>
#include<fstream>
class time_calc
{
private:
int worker;
int S_hour, S_min, S_sec;//start
int F_hour, F_min, F_sec;//finish
public:
time_calc(std::ifstream& input)
{
}
void calc(std::ifstream& input);
};
void main()
{
std::ifstream input;
input.open("input.txt");
int cases;
input>>cases;
for(int i=0; i<cases; i++)
{
time_calc lf(input);
lf.calc(input);
}
}
void time_calc::calc(std::ifstream& input)
{
int day=0;
int hour=0;
int min=0;
int sec=0;
input>> worker;
for(int i = 0; i < worker; i++)
{
input>>S_hour;
input>>S_min;
input>>S_sec;
input>>F_hour;
input>>F_min;
input>>F_sec;
sec+= F_sec-S_sec;
min+= F_min-S_min;
hour+= F_hour-S_hour;
if(sec<0)
{
min--;
sec+=60;
}
else if(sec>=60)
{
sec-=60;
min++;
}
if(min<0)
{
hour--;
min+=60;
}
else if(min>=60)
{
hour++;
min-=60;
}
if(hour>=24)
{
day++;
hour-=24;
}
}
std::cout<<day<<" "<<hour<<" "<<min<<" "<<sec<<std::endl;
}