Submission

Status:

--------------------

Score: 0

User: Angonnyyy

Problemset: ปฏิทินวันแม่

Language: c

Time: 0.001 second

Submitted On: 2024-09-25 21:30:43

#include <stdio.h>

int main() {
    int m, d;
    scanf("%d", &m);
    scanf("%d", &d);

    // Check for valid month input (1-12)
    if (m < 1 || m > 12) {
        printf("Invalid month. Please enter a value from 1 to 12.\n");
        return 1;
    }

    // Days to adjust based on the month
    int daysToAdjust = 0;

    // Calculate days to adjust from the first of the month to August 12
    switch (m) {
        case 1: // January
            daysToAdjust = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; // Total days until August
            break;
        case 2: // February
            daysToAdjust = 29 + 31 + 30 + 31 + 30 + 31; // Total days until August
            break;
        case 3: // March
            daysToAdjust = 31 + 30 + 31 + 30 + 31; // Total days until August
            break;
        case 4: // April
            daysToAdjust = 30 + 31 + 30 + 31; // Total days until August
            break;
        case 5: // May
            daysToAdjust = 31 + 30 + 31; // Total days until August
            break;
        case 6: // June
            daysToAdjust = 30 + 31; // Total days until August
            break;
        case 7: // July
            daysToAdjust = 31; // Days from July to August
            break;
        case 8: // August
            daysToAdjust = 11; // From the 1st to the 12th of August
            break;
        case 9: // September
            daysToAdjust = 31 + 11; // 31 days in August + 11 days in September (to get to August 12)
            break;
        case 10: // October
            daysToAdjust = 31 + 30 + 11; // 31 days in August + 30 days in September + 11 days in October (to get to August 12)
            break;
        case 11: // November
            daysToAdjust = 31 + 30 + 31 + 11; // Total days until August 12
            break;
        case 12: // December
            daysToAdjust = 31 + 30 + 31 + 30 + 11; // Total days until August 12
            break;
    }

    // Calculate the final day of the week
    d += daysToAdjust; // Add the total days to adjust
    d = (d - 1) % 7;   // Normalize to 0-6 (0 = Sunday, ..., 6 = Saturday)
    if (d == 0) {
        d = 7; // Map 0 back to 7 (Sunday)
    }

    printf("%d\n", d); // Output the final day of the week
    return 0; // Successful execution
}