[TIOJ] 1009. In No Time!
題目連結:http://tioj.infor.org/problems/1009
我的作法是先把它轉成秒數,然後相減如果變負的就多加一天的秒數,最後再轉回原本的格式
我的作法是先把它轉成秒數,然後相減如果變負的就多加一天的秒數,最後再轉回原本的格式
#include <iostream>
#include <string>
using namespace std;
inline int c2i(char k){
return k-'0';
}
inline string i2s(int n){
if(n<10)
return "0"+to_string(n);
return to_string(n);
}
inline int t2i(string k){
return ((c2i(k[0])*10+c2i(k[1]))*60 + c2i(k[3])*10+c2i(k[4]))*60 + c2i(k[6])*10+c2i(k[7]);
}
inline string i2t(int n){
string a = i2s(n/3600) + ":";
n-=n/3600*3600;
a+=i2s(n/60) + ":";
n-=n/60*60;
a+=i2s(n);
return a;
}
int main(){
string n,m;
int Tn,Tm;
cin>>n;
cin>>m;
Tn=t2i(n);
Tm=t2i(m);
if(Tm<Tn)
Tm+=86400;
cout<<i2t(Tm-Tn)<<endl;
return 0;
}
留言
張貼留言