JZOJ8 15(C組)電話時間

2021-07-16 16:50:15 字數 1641 閱讀 1919

題目:某人總是花很多時間給父母打**。有一次他記錄了打**的開始時間和結束時刻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...