1 条题解
-
0
C :
#include<stdio.h> int num[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 main(){ int m; int year,month,day; int n; int leap; scanf("%d",&m); while(m--){ scanf("%d%d%d%d",&year,&month,&day,&n); leap = 0; if((year%400==0)||(year%4==0&&year%100!=0)){ leap = 1; } while(n){ day++; if(day>num[leap][month]){ day = 1; month++; } if(month>12){ month = 1; year++; leap = 0; if((year%400==0)||(year%4==0&&year%100!=0)){ leap = 1; } } n--; } printf("%04d-%02d-%02d\n",year,month,day); } return 0; }
C++ :
#include <cstdio> int f[13] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; bool check(int y) { if (y % 100 == 0) return y % 400 == 0; else return y % 4 == 0; } int main() { //freopen("test.in", "r", stdin); //freopen("test.out", "w", stdout); int t; scanf("%d", &t); while (t--) { int y, m, d, x; scanf("%d %d %d %d", &y, &m, &d, &x); f[2] = 28 + check(y); d += x; while (d > f[m]) { d -= f[m]; ++m; if (m > 12) { m = 1; ++y; f[2] = 28 + check(y); } } printf("%04d-%02d-%02d\n", y, m, d); } return 0; }
Python :
# coding=utf-8 import datetime Date = datetime.datetime m = int(input()) for _ in range(m): daystr = input().split() date = Date.strptime(' '.join(daystr[:3]), "%Y %m %d") delta = datetime.timedelta(days=int(daystr[3])) new_date = date + delta print(new_date.strftime("%Y-%m-%d"))
- 1
信息
- ID
- 1167
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者