Submission #841555

#TimeUsernameProblemLanguageResultExecution timeMemory
841555StavabLongest Trip (IOI23_longesttrip)C++17
0 / 100
23 ms352 KiB
#include "longesttrip.h"
#include <algorithm>

std::vector<std::vector<int>> graph;
std::vector<int> solution, visited, temp;

void dfs(int n)
{
    if(visited[n]) return;

    visited[n] = 1;
    temp.push_back(n);
    for(int i = 0; i < graph[n].size(); i++)
        dfs(graph[n][i]);

    if(temp.size() > solution.size())
        solution = temp;

    temp.pop_back();
}

std::vector<int> longest_trip(int N, int D)
{
    graph.assign(N, std::vector<int>());
    for(int i = 0; i < N; i++)
    {
        for(int j = i + 1; j < N; j++)
        {
            if(are_connected({i}, {j}))
            {
                graph[i].push_back(j);
                graph[j].push_back(i);
            }
        }
    }

    visited.assign(N, 0);
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
            visited[j] = 0;
        dfs(i);
    }

    return solution;
}

Compilation message (stderr)

longesttrip.cpp: In function 'void dfs(int)':
longesttrip.cpp:13:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i = 0; i < graph[n].size(); i++)
      |                    ~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...