5 条题解

  • 3
    @ 2024-11-17 18:09:00
    #include <bits/stdc++.h>
    using namespace std;
    int a,b,c = 1,week = 1,day;
    int main(){
    	cin >> a >> b;
    	for(int i = 1900,j = 1,k = 1 ;  ; k++,week = week % 7 + 1){
    		if((j == 1 || j == 3 || j == 5 || j == 7 || j == 8 || j == 10 || j == 12) && k == 32) j++,k = 1;
    		if((j == 4 || j == 6 || j == 9 || j == 11) && k == 31) j++,k = 1;
    		if(((i % 400 == 0 || (i % 100 != 0 && i % 4 == 0)) && j == 2 && k == 30) || (!((i % 400 == 0 || (i % 100 != 0 && i % 4 == 0))) && j == 2 && k == 29)) j++,k = 1;
    		if(j == 13) i++,j = 1;
    		if(i == a && j == b && k == c) break;
    	}
    	if(b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12) day = 31;
    	if(b == 4 || b == 6 || b == 9 || b == 11) day = 30;
    	if((a % 400 == 0 || (a % 100 != 0 && a % 4 == 0)) && b == 2) day = 29;
    	if(!((a % 400 == 0 || (a % 100 != 0 && a % 4 == 0))) && b == 2) day = 28;
    	cout << "Sun Mon Tue Wed Thu Fri Sat\n";
    	for(int i = 1 ; i <= week * 4 ; i++) cout << " ";
    	for(int i = 1 ; i <= day ; i++,week = week % 7 + 1){
    		if(week == 7) cout << endl;
    		cout << setw(3) << i << " ";
    	}
    	return 0;
    }
    

    信息

    ID
    1090
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    230
    已通过
    55
    上传者