📄 1263.cpp
字号:
#include<iostream>
#include<string>
using namespace std;
class data{
public:
int y,m,d,h,f,s;
data(){}
};
bool nv(int y){
return (y%4==0);
}
int mdata(const data & a,int m){
switch (m){
case 1: return 31;
case 2: {if(nv(a.y)) return 29; else return 28;}
case 3: return 31;
case 4: return 30;
case 5: return 31;
case 6: return 30;
case 7: return 31;
case 8: return 31;
case 9: return 30;
case 10: return 31;
case 11: return 30;
case 12: return 31;
}
}
int gobacktoyear(const data & a){
int res=0;
for(int i=1;i<a.m;i++){
res+=mdata(a,i);
}
res+=a.d;
res*=(3600*24);
res+=a.h*3600+a.f*60+a.s;
return res;
}
void run(const data & a,const data & b,int div){
int aa=gobacktoyear(a),bb=gobacktoyear(b),day=0;
for(int i=a.y;i<b.y;i++){
if(nv(i)) day+=366;
else day+=365;
}
day*=(3600*24);
day=day-aa+bb;
int res=day/div;
if(res<0) res=0;
cout<<res<<endl;
}
int main(){
data a,b;
string s;
int div;
while(cin>>a.y>>a.m>>a.d>>a.h>>a.f>>a.s>>b.y>>b.m>>b.d>>b.h>>b.f>>b.s>>div>>s){
if(s!="month"&&s!="year"){
if(s=="minute") {
div*=60;
if(a.s!=0) {a.s=0;a.f+=1;}
if(b.s!=0) b.s=0;
}
else if(s=="hour") {
div*=3600;
if(a.f!=0||a.s!=0) {a.s=a.f=0;a.h+=1;}
if(b.f!=0||b.s!=0) {b.s=b.f=0;}
}
else if(s=="day") {
div*=(3600*24);
if(a.h!=0||a.f!=0||a.s!=0) {a.h=a.s=a.f=0;a.d+=1;}
if(b.h!=0||b.f!=0||b.s!=0) {b.h=b.s=b.f=0;}
}
run(a,b,div);
}
else if(s=="year"){
if(a.m!=1||a.d!=1||a.h!=0||a.f!=0||a.s!=0) a.y+=1;
int res=b.y-a.y;
if(res<0) res=0;
cout<<res/div<<endl;
}
else if(s=="month"){
if(a.d!=1||a.h!=0||a.f!=0||a.s!=0) a.m+=1;
if(a.m>12) {a.m=1;a.y+=1;}
int res=(b.y-a.y)*12+b.m-a.m;
if(res<0) res=0;
cout<<res/div<<endl;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -