fork download
  1. #include <stdio.h>
  2.  
  3. int num_of_days(int Y, int M) {
  4. switch (M) {
  5. case 1: case 3: case 5: case 7: case 8: case 10:
  6. return 31;
  7. break;
  8. case 4: case 6: case 9: case 11:
  9. return 30;
  10. break;
  11. case 2:
  12. if ( Y % 400 == 0 || ( Y % 4 == 0 && Y % 100 != 0 ) )
  13. return 29;
  14. else
  15. return 28;
  16. break;
  17. }
  18. }
  19.  
  20. int main() {
  21. int year, jan1, n;
  22. scanf ("%d%d%d", &year, &jan1, &n);
  23. for (int i=0; i<n; i++) {
  24. int month, date;
  25. scanf ("%d%d", &month, &date);
  26. int days = 0;
  27. if ( month <= 0 || month > 12 )
  28. days = -1;
  29. else if ( date <= 0 || date > num_of_days(year, month) )
  30. days = -2;
  31. if ( days == 0 ) {
  32. days = days + date -1;
  33. for (int j=1; j<month; j++) {
  34. days += num_of_days(year,j);
  35. }
  36. printf ("%d ", (jan1+(days%7))%7);
  37. } else {
  38. printf("%d ", days);
  39. }
  40. }
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5324KB
stdin
2012 0
5
11 13
11 14
11 15
13 1
1 200
stdout
2 3 4 -1 -2