星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
#include<bits/stdc++.h>
using namespace std;
bool type_year(int year){
if(year%4==0&&year%100!=0||year%400==0)return true;
else return false;
}
typedef struct{
int year;
int mouth;
int day;
}date;
date fun_dothis(date y){
int rui[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int ping[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
date return_date;
int d=1,m=1,b=1000,year;
d = y.day;
m=y.mouth;
year=y.year;
while(b){
d++;
if(type_year(year)){
if(d>rui[m]){
d=1;
m++;
if(m>12){
m=1;
year++;
}
}
}else{
if(d>ping[m]){
d=1;
m++;
if(m>12){
m=1;
year++;
}
}
}
b--;
}
return_date.year=year;
return_date.mouth=m;
return_date.day=d;
return return_date;
}
int main(){
int time=1000;
date init_year;
init_year.year=2014;
init_year.mouth=11;
init_year.day=9;
date return_date=fun_dothis(init_year);
cout<<return_date.year<<'-'<<return_date.mouth<<'-'<<return_date.day;
return 0;
}
/*
* *
*
* *
*/