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
}