62892023-11-13 13:49:27aballaForgó rulettkerékcpp17Hibás válasz 0/1001.57s11584 KiB
#include <bits/stdc++.h>

int n, m;

std::string tagid(std::string str) {
    std::string s = str + str, k, min;
    min = str;

    for(int i = 1; i < m; i++) {
        k = std::string(&s[i], &s[i+m]);
        if(min > k) min = k;
    }
    return min;
}

int main() {
    long long count = 0, cachecount;
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::string cache, cache2;
    std::vector<std::string> ids;

    std::cin >> n >> m;
    for(int i = 0; i < n; i++) {
        std::cin >> cache; 
        ids.push_back(tagid(cache));
    }

    for (int i = 0; i < n; i++) {
        cachecount = 0;

        for (int j = 0; j < n-i-1; j++) {
            if(ids[i] == ids[n-j-1]) {
                cachecount++;
            }
        }
        count = count + (cachecount*(cachecount+1))/2;
    }
    std::cout << count;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1832 KiB
2Elfogadva3ms2056 KiB
subtask20/20
3Elfogadva3ms2272 KiB
4Hibás válasz3ms2480 KiB
5Hibás válasz3ms2668 KiB
6Hibás válasz3ms2764 KiB
7Hibás válasz3ms3020 KiB
8Hibás válasz3ms2980 KiB
9Hibás válasz3ms3232 KiB
subtask30/15
10Hibás válasz18ms3880 KiB
11Hibás válasz25ms4064 KiB
12Hibás válasz21ms3928 KiB
13Hibás válasz18ms3744 KiB
14Hibás válasz24ms3920 KiB
15Hibás válasz24ms4076 KiB
16Elfogadva23ms4164 KiB
17Hibás válasz24ms4376 KiB
subtask40/65
18Hibás válasz123ms5844 KiB
19Hibás válasz126ms5568 KiB
20Hibás válasz200ms5340 KiB
21Hibás válasz71ms5660 KiB
22Hibás válasz87ms5604 KiB
23Hibás válasz119ms5384 KiB
24Hibás válasz79ms5556 KiB
25Hibás válasz902ms5740 KiB
26Időlimit túllépés1.57s11356 KiB
27Hibás válasz1.154s7760 KiB
28Időlimit túllépés1.557s4396 KiB
29Időlimit túllépés1.562s11368 KiB
30Időlimit túllépés1.562s11584 KiB