6294 2023. 11. 13 16:27:11 aballa Forgó rulettkerék cpp17 Hibás válasz 0/100 1.57s 28440 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::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(1);

    for(int i = 1; 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 << std::flush;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1892 KiB
2 Elfogadva 3ms 2084 KiB
subtask2 0/20
3 Elfogadva 3ms 2296 KiB
4 Elfogadva 3ms 2516 KiB
5 Hibás válasz 3ms 2748 KiB
6 Hibás válasz 3ms 3088 KiB
7 Elfogadva 3ms 3432 KiB
8 Hibás válasz 3ms 3508 KiB
9 Hibás válasz 3ms 3708 KiB
subtask3 0/15
10 Hibás válasz 17ms 4520 KiB
11 Hibás válasz 21ms 4848 KiB
12 Hibás válasz 20ms 5104 KiB
13 Hibás válasz 17ms 4764 KiB
14 Elfogadva 20ms 4948 KiB
15 Elfogadva 23ms 5448 KiB
16 Elfogadva 23ms 5720 KiB
17 Elfogadva 23ms 5484 KiB
subtask4 0/65
18 Hibás válasz 45ms 6376 KiB
19 Hibás válasz 43ms 6584 KiB
20 Hibás válasz 199ms 6992 KiB
21 Hibás válasz 67ms 7436 KiB
22 Hibás válasz 52ms 6968 KiB
23 Elfogadva 119ms 6240 KiB
24 Hibás válasz 48ms 7220 KiB
25 Hibás válasz 904ms 6980 KiB
26 Hibás válasz 93ms 21112 KiB
27 Hibás válasz 57ms 9444 KiB
28 Időlimit túllépés 1.57s 5240 KiB
29 Elfogadva 96ms 21180 KiB
30 Hibás válasz 160ms 28440 KiB