HDOJ 4515 小Q系列故事——世界上最遥远的距离
2013-03-24 09:37
405 查看
#include<stdlib.h> #include<stdio.h> int year,month,day; int m[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31, 0,31,29,31,30,31,30,31,31,30,31,30,31}; int y[660]={0}; bool isrun(int year) { if((year%4==0&&year%100!=0)||year%400==0) return 1; return 0; } void fm(int len) { if(len<283){ int i=4; if(len>7) len-=7; else { i=3; len+=24; } while(len>m[0][i]){ len-=m[0][i]; i++; } year=2013; month=i; day=len; }else{ int i=2013-1700; len-=283; i++; i+=1700; for(;isrun(i)?len>=366:len>=365;len-=365+isrun(i),i++); year=i; for(i=1;len&&len>=m[isrun(year)][i];len-=m[isrun(year)][i],i++); day=len+1; month=i; } printf("%d/%02d/%02d ",year,month,day); } void fw(int len) { if(len<83){ int i=3; if(len>24){ len-=24; i--; while(len>m[0][i]){ len-=m[0][i]; i--; } day=m[0][i]-len; } else day=24-len; year=2013; month=i; }else{ int i=2013-1700; len-=82; i--; while(len>y[i]){ len-=y[i]; i--; } year=i+1700; i=12; while(len>m[isrun(year)][i]){ len-=m[isrun(year)][i]; i--; } day=m[isrun(year)][i]-len+1; month=i; } printf("%d/%02d/%02d\n",year,month,day); } int main() { int i,N,len; for(i=0;i<650;i++) if(isrun(i+1700)) y[i]=366; else y[i]=365; scanf("%d",&N); while(N--) { scanf("%d",&len); fm(len); fw(len); } //system("pause"); return 0; }
相关文章推荐
- HDOJ-4515 小Q系列故事——世界上最遥远的距离(日期问题)
- 【HDOJ】4515 小Q系列故事——世界上最遥远的距离
- hdu 4515 小Q系列故事——世界上最遥远的距离
- HDU 4515 小Q系列故事——世界上最遥远的距离
- HDU 4515 小Q系列故事——世界上最遥远的距离(模拟题)
- HDU 4515 小Q系列故事——世界上最遥远的距离
- HDU_4515 小Q系列故事——世界上最遥远的距离
- hdu---(4515)小Q系列故事——世界上最遥远的距离(模拟题)
- hdu 4515 小Q系列故事——世界上最遥远的距离(模拟)
- hdu 4515——小Q系列故事——世界上最遥远的距离
- HDU 4515 小Q系列故事——世界上最遥远的距离(模拟)
- hdu 4515 小Q系列故事——世界上最遥远的距离
- 杭电4515-小Q系列故事——世界上最遥远的距离
- 小Q系列故事——世界上最遥远的距离
- hdu4515 小Q系列故事——世界上最遥远的距离(C语言)
- HDU4515 小Q系列故事——世界上最遥远的距离
- HDU 4515 小Q系列故事——世界上最遥远的距离
- HDU-4515 小Q系列故事——世界上最遥远的距离 模拟
- Hdu 4515 小Q系列故事——世界上最遥远的距离 (日期模拟)
- 小Q系列故事——世界上最遥远的距离