fork download
  1. #include <stdio.h>
  2.  
  3. main(){
  4. int x , y , z;
  5. int j , k ;
  6. int i=0;
  7. int answer , p;
  8. scanf("%d" , &x);
  9. scanf("%d" , &y);
  10. scanf("%d" , &z);
  11.  
  12. if((x%4 == 0)&&(x%100!=0))
  13. p =1;
  14. if(x % 400 == 0)
  15. p =1;
  16. else
  17. p =0;
  18.  
  19. while(i < z){
  20. scanf("%d" , &j);
  21. scanf("%d" , &k);
  22.  
  23. if(j < 3)
  24. answer = (j-1)*31 + (k - 1);
  25. else if((j >= 3)&&(j <= 7))
  26. answer = 58 + ((j-3)*31) - ((j-3)/2) + k ;
  27. else
  28. answer = 211 + ((j-8)*31) - ((j-8)/2) + k ;
  29.  
  30. answer = answer%7+y;
  31. if(answer >= 7)
  32. answer = answer % 7;
  33.  
  34. if(p=1){
  35. if(j >= 13)
  36. answer = -1;
  37. else if((j == 2)&&(k >= 30))
  38. answer = -2;
  39. else if((j == 1||3||5||7||8||10||12)&&(k > 32))
  40. answer = -2;
  41. else if((j == 4||6||9||11)&&(k > 31))
  42. answer = -2;
  43. else
  44. answer = answer;
  45. }
  46. if(p=0){
  47. if(j >= 13)
  48. answer = -1;
  49. else if((j == 2)&&(k >= 29))
  50. answer = -2;
  51. else if((j == 1||3||5||7||8||10||12)&&(k > 32))
  52. answer = -2;
  53. else if((j == 4||6||9||11)&&(k > 31))
  54. answer = -2;
  55. else
  56. answer = answer;
  57. }
  58. if((j>=3)&&(p=1))
  59. answer = answer+1;
  60. if(k<=0)
  61. answer = -2;
  62. if(j<=0)
  63. answer = -1;
  64. printf ("%d\n" , answer);
  65. i++;
  66. }
  67. return 0;
  68. }
  69.  
Success #stdin #stdout 0s 4384KB
stdin
2019
2
1
2 29
 
stdout
5