Submission #1688610


Source Code Expand

#include <iostream>
#include <vector>

using namespace std;

int N, M;
vector<int> G[8];

int dfs(int v, bool visited_vertexes[8])
{
    bool flag = true;
    for (int i = 0; i < N; ++i)
    {
        if (!visited_vertexes[i])
            flag = false;
    }

    if (flag)
        return 1;

    int res = 0;
    for (int i = 0; i < G[v].size(); ++i)
    {
        if (visited_vertexes[G[v][i]])
            continue;
        visited_vertexes[G[v][i]] = true;
        res += dfs(G[v][i], visited_vertexes);
        visited_vertexes[G[v][i]] = false;
    }

    return res;
}

int main()
{
    cin >> N >> M;

    for (int i = 0; i < M; ++i)
    {
        int a, b;
        cin >> a >> b;
        --a;
        --b;
        G[a].push_back(b);
        G[b].push_back(a);
    }

    bool visited_vertexes[8] = {false};
    visited_vertexes[0] = true;

    cout << dfs(0, visited_vertexes) << endl;
}

Submission Info

Submission Time
Task C - One-stroke Path
User colaholic
Language C++14 (GCC 5.4.1)
Score 300
Code Size 947 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 15
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 256 KB
subtask_1_03.txt AC 1 ms 256 KB
subtask_1_04.txt AC 2 ms 256 KB
subtask_1_05.txt AC 1 ms 256 KB
subtask_1_06.txt AC 1 ms 256 KB
subtask_1_07.txt AC 1 ms 256 KB
subtask_1_08.txt AC 1 ms 256 KB
subtask_1_09.txt AC 1 ms 256 KB
subtask_1_10.txt AC 2 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 2 ms 256 KB
subtask_1_13.txt AC 2 ms 256 KB