126202024-12-26 22:20:28BucsMateVilágnaptár (45 pont)cpp17Accepted 45/451ms508 KiB
#include <iostream>

using namespace std;

const int honap_napszam[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int main()
{
    int ev, honap, nap;
    int megoldas_ev, megoldas_honap, megoldas_nap;
    cin >> ev >> honap >> nap;
    megoldas_ev = ev;
    int ossznap = nap;
    for(int i = 1; i < honap; i++){
        ossznap += honap_napszam[i];
    }
    if(ev % 4 == 0 && honap > 2){
        ossznap++;
    }

    int honap_index = 1;
    while(ossznap > 31 && honap_index < 12){
        ossznap -= 30;
        if(honap_index % 3 == 1){
            ossznap--;
        }
        if(honap_index == 7 && ev % 4 == 0){
            ossznap--;
        }
        honap_index++;
    }
    megoldas_honap = honap_index;
    megoldas_nap = ossznap;

    if(megoldas_nap == 31){
        if(megoldas_honap % 3 == 1){
            cout << megoldas_ev << " " << megoldas_honap << " " << megoldas_nap;
        }
        else if(megoldas_honap == 6 && megoldas_ev % 4 == 0){
            cout << megoldas_ev << " " << megoldas_honap << " SZN" << endl;
        }
        else if(megoldas_honap == 12){
            cout << megoldas_ev << " " << megoldas_honap << " VN" << endl;
        }
        else{
            cout << megoldas_ev << " " << megoldas_honap+1 << " " << 1 << endl;
        }
    }
    else{
        cout << megoldas_ev << " " << megoldas_honap << " " << megoldas_nap << endl;
    }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base45/45
1Accepted0/01ms320 KiB
2Accepted0/01ms320 KiB
3Accepted0/01ms320 KiB
4Accepted2/21ms320 KiB
5Accepted2/21ms320 KiB
6Accepted3/31ms324 KiB
7Accepted3/31ms320 KiB
8Accepted3/31ms500 KiB
9Accepted3/31ms320 KiB
10Accepted3/31ms320 KiB
11Accepted3/31ms320 KiB
12Accepted3/31ms384 KiB
13Accepted3/31ms320 KiB
14Accepted3/31ms320 KiB
15Accepted3/31ms400 KiB
16Accepted3/31ms508 KiB
17Accepted3/31ms320 KiB
18Accepted2/21ms320 KiB
19Accepted3/31ms324 KiB