62822023-11-12 13:35:39aballaForgó rulettkerékcpp17Időlimit túllépés 20/1001.578s12552 KiB
#include <bits/stdc++.h>

int n, m;

bool similar(std::string a, std::string b) {
    const std::string c = a+a;
    std::string str;
    for(int i = 0; i < m; i++) {
        str = std::string(&c[i], &c[i+m]);
        if (str == b)
        {
            return 1;
        }
    }
    return 0;
}

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

    std::cin >> n >> m;
    for(int i = 0; i < n; i++) {
        std::cin >> cache; 
        ids.push_back(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(similar(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
1Elfogadva3ms1828 KiB
2Elfogadva3ms2060 KiB
subtask220/20
3Elfogadva3ms2280 KiB
4Elfogadva3ms2660 KiB
5Elfogadva3ms2764 KiB
6Elfogadva6ms2832 KiB
7Elfogadva19ms2916 KiB
8Elfogadva6ms3192 KiB
9Elfogadva7ms3388 KiB
subtask30/15
10Elfogadva85ms4052 KiB
11Elfogadva57ms4332 KiB
12Elfogadva846ms4408 KiB
13Elfogadva159ms4612 KiB
14Elfogadva54ms4740 KiB
15Időlimit túllépés1.554s3680 KiB
16Időlimit túllépés1.549s3660 KiB
17Időlimit túllépés1.557s3592 KiB
subtask40/65
18Elfogadva1.253s6196 KiB
19Időlimit túllépés1.572s4464 KiB
20Időlimit túllépés1.557s4296 KiB
21Időlimit túllépés1.569s4548 KiB
22Időlimit túllépés1.569s4640 KiB
23Elfogadva666ms6260 KiB
24Időlimit túllépés1.562s4876 KiB
25Időlimit túllépés1.554s5100 KiB
26Időlimit túllépés1.575s12508 KiB
27Időlimit túllépés1.562s6152 KiB
28Időlimit túllépés1.575s6520 KiB
29Időlimit túllépés1.565s12552 KiB
30Időlimit túllépés1.578s12324 KiB