4602021-11-03 16:44:49TSomaToronyépítés (1,1,3,3)cpp11Elfogadva 50/508ms1936 KiB
#include <iostream>

int main()
{
    std::cin.sync_with_stdio(false);
    std::cin.tie(nullptr);



    int N;
    std::cin >> N;

    if (N > 50) {

        //std::vector<int> v(N+1);
        int v[4];

        v[0] = 1;
        v[1] = 2;
        v[2] = 4;
        v[3] = 0;

        int a, b, c, j = 3;

        for (size_t i = 3; i < N + 1; i++)
        {
            if (j > 3)
                j = 0;

            c = j;
            a = c - 1;
            b = c - 3;

            if (b < 0) {
                b += 4;
                if (a < 0)
                    a = 3;
            }

            v[c] = (2 * v[a] + 2 * v[b]);

            if (v[c] > 20210108)
                v[c] %= 20210108;

            j++;
        }

        std::cout << v[N % 4];
    }
    else
    {
        int v[] = { 1, 2, 4, 10, 24, 56, 132, 312, 736, 1736, 4096, 9664, 22800, 53792, 126912, 299424, 706432, 1666688, 3932224, 9277312, 1677892, 11220232, 574872, 4505528, 11241412, 3422460, 15855976, 13774560, 14183932, 19659600, 6237996, 423640, 19956372, 11968520, 4574212, 8640952, 798728, 10745880, 18563556, 18514460, 18100464, 12697716, 1794028, 19578876, 3922860, 11433776, 1394980, 10635680, 3718696, 10227352, 1305848, 10049088 };
        std::cout << v[N];
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms1824 KiB
2Elfogadva0/01ms1844 KiB
3Elfogadva3/31ms1916 KiB
4Elfogadva3/31ms1912 KiB
5Elfogadva4/41ms1920 KiB
6Elfogadva4/41ms1924 KiB
7Elfogadva4/48ms1928 KiB
8Elfogadva4/42ms1932 KiB
9Elfogadva4/41ms1936 KiB
10Elfogadva4/41ms1932 KiB
11Elfogadva4/43ms1932 KiB
12Elfogadva4/48ms1932 KiB
13Elfogadva4/48ms1932 KiB
14Elfogadva4/44ms1932 KiB
15Elfogadva2/21ms1932 KiB
16Elfogadva2/21ms1932 KiB