6293 2023. 11. 13 15:50:35 aballa Forgó rulettkerék cpp17 Hibás válasz 0/100 1.559s 27596 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, cc = 0;
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::string cache;
    std::vector<std::string> ids;
    std::vector<int> veccount;
    std::unordered_map<std::string, int> map;

    std::cin >> n >> m;
    for(int i = 0; i < n; i++) {
        std::cin >> cache; 
        ids.push_back(tagid(cache));
    }
    map.insert({ids[0], 0});
    veccount.push_back(0);
    for(int i = 0; i < n; i++) {
        if (auto search = map.find(ids[i]); search != map.end()) {
            veccount[search->second]++;
        }
        else {
            map.insert({ids[i], cc});
            veccount.push_back(1);
            cc++;
        }
    }
    for(const auto x : veccount) {
        count += x*(x-1);
    }
    
    std::cout << count/2;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 4ms 1972 KiB
2 Elfogadva 3ms 2180 KiB
subtask2 0/20
3 Elfogadva 3ms 2252 KiB
4 Elfogadva 3ms 2612 KiB
5 Hibás válasz 3ms 2676 KiB
6 Hibás válasz 3ms 3032 KiB
7 Elfogadva 3ms 3408 KiB
8 Hibás válasz 3ms 3320 KiB
9 Hibás válasz 3ms 3472 KiB
subtask3 0/15
10 Hibás válasz 17ms 4376 KiB
11 Hibás válasz 21ms 4536 KiB
12 Hibás válasz 20ms 4696 KiB
13 Hibás válasz 17ms 4356 KiB
14 Elfogadva 20ms 4544 KiB
15 Elfogadva 23ms 5228 KiB
16 Elfogadva 23ms 5472 KiB
17 Elfogadva 21ms 5408 KiB
subtask4 0/65
18 Hibás válasz 45ms 6416 KiB
19 Hibás válasz 43ms 6552 KiB
20 Hibás válasz 200ms 6660 KiB
21 Hibás válasz 65ms 7136 KiB
22 Hibás válasz 50ms 7100 KiB
23 Elfogadva 119ms 6484 KiB
24 Hibás válasz 48ms 7516 KiB
25 Hibás válasz 902ms 6976 KiB
26 Hibás válasz 74ms 21224 KiB
27 Hibás válasz 54ms 9572 KiB
28 Időlimit túllépés 1.559s 5468 KiB
29 Elfogadva 79ms 21176 KiB
30 Hibás válasz 104ms 27596 KiB