題目:某人總是花很多時間給父母打**。有一次他記錄了打**的開始時間和結束時刻t1和t2,請你幫他算算此次通話一共用了多少秒。又有一次,他記錄了打**的開始時刻t1和通話的時間長度len,請你幫他計算他在什麼時刻結束通話。
已知每次通話時間小於24個小時。
分析:純模擬啦。
附上**:
vart,q:longint;
hour,min,sec:array [1..2] of longint;
procedure init;
vari,h,m,se,pass:longint;
s:string;
begin
readln(t);
for i:=1 to t do
begin
readln(s);
val(copy(s,1,1),q);
delete(s,1,pos(' ',s));
if q=0 then
begin
val(copy(s,1,pos(':',s)-1),hour[1]);
delete(s,1,pos(':',s));
val(copy(s,1,pos(':',s)-1),min[1]);
delete(s,1,pos(':',s));
val(copy(s,1,pos(' ',s)-1),sec[1]);
delete(s,1,pos(' ',s));
val(copy(s,1,pos(':',s)-1),hour[2]);
delete(s,1,pos(':',s));
val(copy(s,1,pos(':',s)-1),min[2]);
delete(s,1,pos(':',s));
val(s,sec[2]);
if hour[2]=60 then
begin
min[1]:=min[1]+sec[1] div 60;
sec[1]:=sec[1] mod 60;
end;
if min[1]>=60 then
begin
hour[1]:=hour[1]+min[1] div 60;
min[1]:=min[1] mod 60;
end;
if hour[1]>=24 then
hour[1]:=hour[1]-24;
str(hour[1],s);
if length(s)=1 then
s:='0'+s;
write(s,':');
str(min[1],s);
if length(s)=1 then
s:='0'+s;
write(s,':');
str(sec[1],s);
if length(s)=1 then
s:='0'+s;
writeln(s);
end;
end;
end;
begin
assign(input,'phone.in');reset(input);
assign(output,'phone.out');rewrite(output);
init;
close(input);close(output);
end.
JZOJ8 15(C組)地鐵建設
題目 某地鐵沿線共設n站,可分為u 地面式 d 地下式 和c 複合式 三種型別。為避免單調,相鄰地鐵站的型別不能重複。同時,由於地鐵站所處環境和地質條件有所差異,每個站點按不同型別的建設成本也不盡相同。現給定各站點的三種建設成本,請計算出該地鐵線的最低總造價。分析 這道題 用了dp來解決,用f i,...
JZOJ 4 1 C組 飛越原野 bfs
description 勇敢的德魯伊法里奧出色的完成了任務之後,正在迅速的向自己的基地撤退。但由於後面有著一大群追兵,所以法里奧要盡快地返回基地,否則就會被敵人捉住。終於,法里奧來到了最後一站 泰拉希爾原野,穿過這裡就可以回到基地了。然而,敵人依然緊追不捨。不過,泰拉希爾的地理條件對法里奧十分有利,...
JZOJ 7 7C組第三題 頁
給出奇數個數,每次把它中間的數取出來放到最左邊或最右邊,求出最少取多少次可以讓這些數是從小到大的。bfs hash判重。每次左邊右邊操作一次,判斷之前有沒有出現過了,沒有就入隊。include define maxn 300017 using namespace std int n,state 10...