Advertisement
audreych

12611 - The Same Calendar

Feb 20th, 2021
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. int cnt[10];
  4. //bless i don't forget what i did last night :sad:
  5. int leap(int year){
  6.     //is y a leap year?
  7.     if(year % 4 == 0 && (year % 100 != 0 || ( year % 100 == 0 && year % 400 == 0))){
  8.         return 1;
  9.     } else {
  10.         return 0;
  11.     }
  12. }
  13.  
  14. int main(){
  15.     int T;
  16.     scanf("%d", &T);
  17.     while(T--){
  18.         int y;
  19.         scanf("%d", &y);
  20.        
  21.         int day = 0;
  22.         int i = 0;
  23.  
  24.         for(i = y ; i <= y + 100; i++){
  25.             day = day % 7;
  26.             cnt[day]++;
  27.             //printf("i = %d\n", i);
  28.             //printf("cnt[%d] = %d\n", day, cnt[day]);
  29.             if(cnt[0] == 2){
  30.                 if(!leap(y)){
  31.                     // y is not leap year
  32.                     if(leap(i)){
  33.                         cnt[0] = 1;
  34.                     } else {
  35.                         printf("%d\n", i);
  36.                         break;
  37.                     }
  38.                 } else {
  39.                     // y is a leap year
  40.                     if(leap(i)){
  41.                         printf("%d\n", i);
  42.                         break;
  43.                     } else {
  44.                         cnt[0] = 1;
  45.                     }
  46.                 }
  47.             }
  48.             if(leap(i)){
  49.                 day++;
  50.             }
  51.             day++;
  52.         }
  53.         // reset the count after every queries
  54.         for(int i = 0 ; i < 10; i++){
  55.             cnt[i] = 0;
  56.         }
  57.     }
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement