1 条题解

  • 0
    @ 2024-7-25 13:03:00

    参考答案:

    #include<iostream>
    
    using namespace std;
    
    int main() 
    {
    	int y, m, d;
    
    	scanf("%d-%d-%d", &y, &m, &d);
    	if (d > 2) printf("%d-%02d-%02d\n", y, m, d - 2);
    	else
    	{
    		if (m == 3)
    		{
    			if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
    			{
    				if (d == 1)
    					printf("%d-%02d-28\n", y, m - 1);
    				else
    					printf("%d-%02d-29\n", y, m - 1);
    			}
    			else
    			{
    				if (d == 1)
    					printf("%d-%02d-27\n", y, m - 1);
    				else
    					printf("%d-%02d-28\n", y, m - 1);
    			}
    		}
    		else if (m == 1)
    		{
    			if (d == 1)
    				printf("%d-12-30\n", y - 1);
    			else printf("%d-12-31\n", y - 1);
    		}
    		else if (m == 7)
    		{
    			if (d == 1)
    				printf("%d-%02d-29\n", y, m - 1);
    			else printf("%d-%02d-30\n", y, m - 1);
    		}
    		else if (m == 8)
    		{
    			if (d == 1)
    				printf("%d-%02d-30\n", y, m - 1);
    			else printf("%d-%02d-31\n", y, m - 1);
    		}
    		else if (m == 5 || m == 10 || m == 12)
    		{
    			if (d == 1)
    				printf("%d-%02d-29\n", y, m - 1);
    			else printf("%d-%02d-30\n", y, m - 1);
    		}
    		else
    		{
    			if (d == 1)
    				printf("%d-%02d-30\n", y, m - 1);
    			else printf("%d-%02d-31\n", y, m - 1);
    		}
    	}
    
    	return 0;
    }
    
    • 1

    信息

    ID
    45
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    14
    已通过
    1
    上传者