1 条题解

  • 0
    @ 2025-4-7 21:19:29

    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
    上传者