답안 #319718

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
319718 2020-11-06T09:24:23 Z gustason Lozinke (COCI17_lozinke) C++14
100 / 100
572 ms 16604 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<string> v;
    map<string, int> pass;
    for(int i = 0; i < n; i++) {
        string str;
        cin >> str;
        v.push_back(str);
        pass[str]++;
    }

    int cnt = 0;
    for(int s = 0; s < n; s++) {
        string str = v[s];
        int l = str.length();
        set<string> st;
        st.insert(str);
        int curr = max(0, pass[str]-1);
        for(int i = 0; i < l; i++) {
            string sub;
            for(int j = i; j < l; j++)  {
                sub += str[j];
                if (st.count(sub)) continue;
                st.insert(sub);
                curr += pass[sub];
            }
        }
        cnt += curr;
    }
    cout << cnt << "\n";
    return 0;
}
//~ check for overflows
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 2 ms 364 KB Output is correct
4 Correct 2 ms 364 KB Output is correct
5 Correct 12 ms 748 KB Output is correct
6 Correct 21 ms 748 KB Output is correct
7 Correct 26 ms 1516 KB Output is correct
8 Correct 44 ms 2276 KB Output is correct
9 Correct 114 ms 2524 KB Output is correct
10 Correct 233 ms 7516 KB Output is correct
11 Correct 198 ms 4568 KB Output is correct
12 Correct 531 ms 16604 KB Output is correct
13 Correct 358 ms 2900 KB Output is correct
14 Correct 365 ms 15064 KB Output is correct
15 Correct 572 ms 16472 KB Output is correct
16 Correct 360 ms 1872 KB Output is correct
17 Correct 72 ms 1772 KB Output is correct
18 Correct 53 ms 1644 KB Output is correct
19 Correct 392 ms 8840 KB Output is correct
20 Correct 175 ms 1716 KB Output is correct