Submission #1078175

#TimeUsernameProblemLanguageResultExecution timeMemory
1078175ntnqLozinke (COCI17_lozinke)C++17
45 / 100
1068 ms1352 KiB
#include <iostream>
#include <algorithm>

using namespace std;

struct Trie {
    struct Node {
        Node *child[26];
        int cnt, exist;

        Node() {
            cnt = exist = 0;
            for (int i = 0; i < 26; ++i)
                child[i] = NULL;
        }
    };
    
    int cur;
    Node *root;
    Trie() : cur(0) {
        root = new Node();
    }

    void add_str(string s) {
        Node *p = root;
        for (char c : s) {
            c -= 'a';

            if (p->child[c] == NULL)
                p->child[c] = new Node();

            p = p->child[c];
            p->cnt++;
        }

        p->exist++;
    }
};

int n;
string a[20022];

namespace sub1 {
    int res = 0;

    void solve() {
        for (int i = 1; i <= n; ++i)
            for (int j = 1; j <= n; ++j)
                if (i != j &&  a[i].find(a[j]) <= 10)
                    ++res; 
        
        cout << res;
    }
}

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);


    cin >> n;
    for (int i = 1; i <= n; ++i)
        cin >> a[i];

    sort(a+1, a+n+1, [](string &s1, string &s2) {
        return s1.size() > s2.size();
    });


    sub1::solve();
}

Compilation message (stderr)

lozinke.cpp: In member function 'void Trie::add_str(std::string)':
lozinke.cpp:29:26: warning: array subscript has type 'char' [-Wchar-subscripts]
   29 |             if (p->child[c] == NULL)
      |                          ^
lozinke.cpp:30:26: warning: array subscript has type 'char' [-Wchar-subscripts]
   30 |                 p->child[c] = new Node();
      |                          ^
lozinke.cpp:32:26: warning: array subscript has type 'char' [-Wchar-subscripts]
   32 |             p = p->child[c];
      |                          ^
#Verdict Execution timeMemoryGrader output
Fetching results...