60632023-10-29 11:27:31GervidForgó rulettkerékcpp17Időlimit túllépés 20/1001.577s18328 KiB
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n, m, i, j, k, x;
    cin >> n >> m;

    vector<string> patterns(1);
    cin >> patterns[0];

    vector<int> count(1, 1);

    string tag;

    for (i = 1; i < n; i++)
    {
        cin >> tag;
        x = 0, k = 0;

        for (j = 0; j < patterns.size(); j++)
        {
            for (k = 0; k < m; k++)
            {
                while (x < m && tag[(x + k) % m] == patterns[j][x])
                {
                    x++;
                }
            
                if (x == m)
                {
                    count[j]++;
                    break;
                }

                x = 0;
            }
            if (x == m)
            {
                break;
            }
        }

        if (x != m)
        {
            patterns.push_back(tag);
            count.push_back(1);
        }
    }

    int sum = 0;

    for (i = 0; i < count.size(); i++)
    {
        if (count[i] > 1)
        {
            sum += (count[i] * (count[i]-1)) >> 1;
        }
    }

    cout << sum;
}
//4 4
//abcd
//xbcd
//cdab
//dabc
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1816 KiB
2Elfogadva3ms2052 KiB
subtask220/20
3Elfogadva3ms2304 KiB
4Elfogadva3ms2516 KiB
5Elfogadva3ms2704 KiB
6Elfogadva4ms3048 KiB
7Elfogadva8ms3188 KiB
8Elfogadva4ms3144 KiB
9Elfogadva4ms3400 KiB
subtask30/15
10Elfogadva35ms4028 KiB
11Elfogadva64ms4664 KiB
12Elfogadva217ms5264 KiB
13Elfogadva50ms5412 KiB
14Elfogadva78ms5700 KiB
15Elfogadva1.093s6584 KiB
16Elfogadva1.207s7164 KiB
17Időlimit túllépés1.554s6220 KiB
subtask40/65
18Elfogadva310ms8096 KiB
19Elfogadva943ms8940 KiB
20Elfogadva751ms10504 KiB
21Időlimit túllépés1.557s10264 KiB
22Elfogadva992ms12144 KiB
23Elfogadva216ms12656 KiB
24Időlimit túllépés1.577s12692 KiB
25Elfogadva519ms14444 KiB
26Elfogadva629ms15584 KiB
27Időlimit túllépés1.565s15596 KiB
28Időlimit túllépés1.562s17204 KiB
29Időlimit túllépés1.554s17976 KiB
30Időlimit túllépés1.565s18328 KiB