Submission #988613

#TimeUsernameProblemLanguageResultExecution timeMemory
988613Gray가장 긴 여행 (IOI23_longesttrip)C++17
5 / 100
809 ms2320 KiB
#include "longesttrip.h"
#include <algorithm>
#include<bits/stdc++.h>
#include <cassert>
using namespace std;
#define ll long long
#define ff first
#define ss second
#define ln endl
vector<vector<ll>> A;
ll n, d;
void dfs(ll u, vector<bool> &vis, vector<int> &trip){
    trip.push_back(u);
    vis[u]=1;
    for (auto v:A[u]){
        if (!vis[v]){
            dfs(v, vis, trip);
        }
    }
}
std::vector<int> longest_trip(int N, int D)
{
    n=N; d=D;
    A.clear();
    A.resize(N);
    for (ll i=0; i<n; i++){
        for (ll j=i+1; j<n; j++){
            if (are_connected({(int)i}, {(int)j})){
                A[i].push_back(j);
                A[j].push_back(i);
            }
        }
    }
    vector<ll> semi;
    for (ll i=0; i<n; i++){
        if (A[i].size()<n-1){
            semi.push_back(i);
        }
    }
    vector<pair<ll, ll>> vert;
    for (ll i=0; i<n; i++){
        vert.push_back({A[i].size(), i});
        sort(A[i].begin(), A[i].end(), [](ll op1, ll op2)->bool{return A[op1].size()<A[op2].size();});
    }
    sort(vert.begin(), vert.end());
    // assert(semi.size()>=0 and semi.size()<=2);
    vector<int> ans;
    vector<bool> vis(n);
    for (auto [_, i]:vert){
        if (vis[i]==0){
            vector<int> trip;
            dfs(i, vis, trip);
            if (ans.size()<trip.size()){
                ans=trip;
            }
        }
    }
    
    return ans;
}

Compilation message (stderr)

longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:36:24: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   36 |         if (A[i].size()<n-1){
      |             ~~~~~~~~~~~^~~~
#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...