62862023-11-13 13:33:50aballaForgó rulettkerékcpp17Hibás válasz 0/1001.582s12688 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() {
    int count, 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++) {
        if (ids[i] == "#") {continue;}
        cachecount = 0;

            for (int j = 0; j < n-i-1; j++) {
            if (ids[n-j-1] == "#") {continue;}
            
            if(ids[i] == ids[n-j-1]) {
                cachecount++;
                ids[n-j-1] = "#";
            }
        }
        count = count + (cachecount*(cachecount+1))/2;
    }
    std::cout << count;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1700 KiB
2Hibás válasz3ms1928 KiB
subtask20/20
3Hibás válasz3ms2144 KiB
4Hibás válasz3ms2348 KiB
5Hibás válasz3ms2584 KiB
6Hibás válasz3ms2664 KiB
7Hibás válasz3ms3004 KiB
8Hibás válasz3ms3064 KiB
9Hibás válasz3ms3148 KiB
subtask30/15
10Hibás válasz17ms4060 KiB
11Hibás válasz21ms4112 KiB
12Hibás válasz21ms4228 KiB
13Hibás válasz17ms4112 KiB
14Hibás válasz20ms4208 KiB
15Hibás válasz25ms4356 KiB
16Hibás válasz25ms4444 KiB
17Hibás válasz25ms4652 KiB
subtask40/65
18Hibás válasz64ms6340 KiB
19Hibás válasz72ms6296 KiB
20Hibás válasz199ms6332 KiB
21Hibás válasz71ms6948 KiB
22Hibás válasz71ms6676 KiB
23Hibás válasz119ms6764 KiB
24Hibás válasz105ms6972 KiB
25Hibás válasz898ms7184 KiB
26Időlimit túllépés1.582s12688 KiB
27Hibás válasz1.036s8852 KiB
28Időlimit túllépés1.56s5624 KiB
29Időlimit túllépés1.565s12400 KiB
30Időlimit túllépés1.572s12508 KiB