6 条题解

  • 1
    @ 2026-5-31 19:37:10
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int n,m,sum,yy=1900,mm;
    signed main()
    {
    	cin >> n >> m;
    	while(yy < n)
    	{
    		if(yy%4 == 0 && yy % 100 != 0)
    			sum += 366;
    		else if(yy%400 == 0)
    			sum += 366;
    		else 
    			sum += 365;
    		yy++;
    	}
    	mm=1;
    	while(mm < m)
    	{
    		sum+=month[mm];
    		mm++;
    	}
    	int num=month[m];
    	if(m>2)
    	{
    		if((n%4==0&&n%100!=0)||(n%400==0))
    			sum++;
    	}
    	if(m==2)
    	{
    		if((n%4==0&&n%100!=0)||(n%400 == 0))
    			num++;
    	}
    	sum=sum%7;
    	cout << "Sun Mon Tue Wed Thu Fri Sat\n";
    	if(sum != 6)
    		for(int i = 0 ; i <= sum ; i++)
    			cout << "    ";
    	for(int i = 1 ; i <= num ; i++)
    	{
    		printf("%3d ",i);
    		if( (i+sum)%7 == 6 )
    			cout << endl;
    	}
    	return 0;
    }
    
    

    信息

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