6292 2023. 11. 13 15:48:48 aballa Forgó rulettkerék cpp17 Hibás válasz 0/100 1.574s 27552 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 << "\n" << count/2;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Hibás válasz 3ms 1976 KiB
2 Hibás válasz 3ms 2024 KiB
subtask2 0/20
3 Hibás válasz 3ms 2196 KiB
4 Hibás válasz 3ms 2416 KiB
5 Hibás válasz 3ms 2640 KiB
6 Hibás válasz 3ms 2740 KiB
7 Hibás válasz 3ms 2756 KiB
8 Hibás válasz 3ms 2904 KiB
9 Hibás válasz 3ms 2868 KiB
subtask3 0/15
10 Hibás válasz 17ms 3696 KiB
11 Hibás válasz 23ms 4104 KiB
12 Hibás válasz 20ms 4376 KiB
13 Hibás válasz 17ms 4192 KiB
14 Hibás válasz 20ms 4728 KiB
15 Hibás válasz 23ms 5612 KiB
16 Hibás válasz 23ms 5768 KiB
17 Hibás válasz 23ms 5708 KiB
subtask4 0/65
18 Hibás válasz 45ms 6660 KiB
19 Hibás válasz 41ms 6796 KiB
20 Hibás válasz 200ms 7016 KiB
21 Hibás válasz 65ms 7540 KiB
22 Hibás válasz 50ms 7288 KiB
23 Hibás válasz 119ms 6604 KiB
24 Hibás válasz 48ms 7576 KiB
25 Hibás válasz 911ms 6960 KiB
26 Hibás válasz 75ms 21336 KiB
27 Hibás válasz 52ms 9484 KiB
28 Időlimit túllépés 1.574s 5252 KiB
29 Hibás válasz 78ms 21368 KiB
30 Hibás válasz 100ms 27552 KiB