Submission #1302926


Source Code Expand

#include <iostream>
#include <vector>
#include <utility>
#include <string>

int n = 0, m = 0, k = 0;
std::vector<char> c;
std::vector<int>  cnt;
std::vector<int>  got;
std::vector< std::pair<int,int> > ab;
std::vector< std::string > ls;

void dfs(int i, std::string sub){
    if(sub.length() >= k){
        ls.push_back(sub);
        return;
    }

    if(cnt[i] >= n){
        return;
    }
    cnt[i]++;

    for(int j=1; j<=m; ++j){
        if(ab[j].first == i){
            if(got[i] == 0){
                got[i] = 1;
                dfs(ab[j].second, sub+c[i]);
                got[i] = 0;
            }
            dfs(ab[j].second, sub);
        }
    }

    if(sub.length() == k-1 && got[i] == 0){
        ls.push_back(sub+c[i]);
    }

    cnt[i]--;
    return;
}

int main(void){
    int i,j;

    std::cin >> n >> m >> k;
    c.resize(n+1);
    cnt.resize(n+1);
    got.resize(n+1);
    for(i=1; i<=n; ++i) std::cin >> c[i];

    ab.resize(m+1);
    for(i=1; i<=m; ++i){
        std::cin >> ab[i].first >> ab[i].second;
    }

    for(i=1; i<=n; ++i){
        dfs(i, "");
    }

    if(ls.size() == 0){
        std::cout << "-1" << std::endl;
    }else{
        auto mn = ls.begin();
        for(auto it = ls.begin()+1; it != ls.end(); ++it){
            if(*mn > *it){
                mn = it;
            }
        }
        std::cout << *mn << std::endl;
    }
}

Submission Info

Submission Time
Task C - 有向グラフ
User b1464296
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1450 Byte
Status TLE
Exec Time 2305 ms
Memory 2089564 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 4
AC × 13
TLE × 19
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_manual01.txt, subtask1_manual02.txt, subtask1_manual03.txt, subtask1_manual04.txt, subtask1_manual05.txt, subtask1_manual06.txt, subtask1_manual07.txt, subtask1_manual08.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt, subtask1_special05.txt, subtask1_special06.txt, subtask1_special07.txt, subtask1_special08.txt, subtask1_special09.txt, subtask1_special10.txt, subtask1_special11.txt, subtask1_special12.txt, subtask1_special13.txt, subtask1_special14.txt, subtask1_special15.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 256 KB
subtask0_sample_02.txt AC 1 ms 256 KB
subtask0_sample_03.txt AC 1 ms 256 KB
subtask0_sample_04.txt AC 1 ms 256 KB
subtask1_manual01.txt AC 1 ms 256 KB
subtask1_manual02.txt AC 1 ms 256 KB
subtask1_manual03.txt AC 1 ms 256 KB
subtask1_manual04.txt AC 1 ms 256 KB
subtask1_manual05.txt AC 1 ms 256 KB
subtask1_manual06.txt AC 1 ms 256 KB
subtask1_manual07.txt AC 1 ms 256 KB
subtask1_manual08.txt AC 1 ms 256 KB
subtask1_random01.txt TLE 2153 ms 791648 KB
subtask1_random02.txt TLE 2116 ms 179812 KB
subtask1_random03.txt TLE 2104 ms 5376 KB
subtask1_random04.txt TLE 2127 ms 350564 KB
subtask1_random05.txt TLE 2128 ms 403804 KB
subtask1_special01.txt TLE 2106 ms 28536 KB
subtask1_special02.txt TLE 2140 ms 555352 KB
subtask1_special03.txt TLE 2185 ms 1311708 KB
subtask1_special04.txt TLE 2220 ms 1798108 KB
subtask1_special05.txt TLE 2103 ms 384 KB
subtask1_special06.txt TLE 2181 ms 1078752 KB
subtask1_special07.txt TLE 2248 ms 2089564 KB
subtask1_special08.txt TLE 2270 ms -1666464 KB
subtask1_special09.txt TLE 2239 ms 2052188 KB
subtask1_special10.txt TLE 2305 ms -1248292 KB
subtask1_special11.txt TLE 2299 ms -1234212 KB
subtask1_special12.txt TLE 2246 ms -2064420 KB
subtask1_special13.txt TLE 2302 ms -1181092 KB
subtask1_special14.txt AC 11 ms 896 KB
subtask1_special15.txt TLE 2103 ms 384 KB