fork download
  1. #include <stdio.h>
  2.  
  3. main(){
  4. int year,startday,n;
  5. scanf("%d%d%d",&year,&startday,&n);
  6. for(int count;count<n;count++){
  7. int month,day;
  8. scanf("%d%d",&month,&day);
  9.  
  10. int monthday;
  11. switch(month){
  12. case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  13. monthday=31;
  14. break;
  15. case 4: case 6: case 9: case 11:
  16. monthday=30;
  17. break;
  18. case 2:
  19. if(year%400==0||year%4==0&&year%100!=0)
  20. monthday=29;
  21. else
  22. monthday=28;
  23. break;
  24. }
  25.  
  26. int result;
  27. if((1>month||month>12)){
  28. result=-1;
  29. printf("%d ",result);
  30. continue;
  31. }
  32. else if(day<1||day>monthday){
  33. result=-2;
  34. printf("%d ",result);
  35. continue;
  36. }
  37. else{
  38. int daypass=0;
  39. for(int M=1;M<month;M++){
  40. int monthday2;
  41. switch(M){
  42. case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  43. monthday2=31;
  44. break;
  45. case 4: case 6: case 9: case 11:
  46. monthday2=30;
  47. break;
  48. case 2:
  49. if(year%400==0||year%4==0&&year%100!=0)
  50. monthday2=29;
  51. else
  52. monthday2=28;
  53. break;
  54. }
  55. daypass+=monthday2;
  56. }
  57. daypass+=day;
  58. result=(startday+daypass-1)%7;
  59. printf("%d ",result);
  60. }
  61. }
  62. return 0;
  63. }
Success #stdin #stdout 0s 5320KB
stdin
2000 6
10
2 29
1300 1
11 19
6 1272
8 31
4 9
9 23
2 28
1 1
10 1
stdout
2 -1 0 -2 4 0 6 1 6 0