Submission #1370330

#TimeUsernameProblemLanguageResultExecution timeMemory
1370330dssfsuper2가장 긴 여행 (IOI23_longesttrip)C++20
15 / 100
3 ms432 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> longest_trip(int N, int D){
    if(D==3){
        vector<int> tt;
        for(int i = 0;i<N;i++)tt.push_back(i);
        return tt;
    }
    if(D==2){
        int cur=0;
        vector<int> res = {cur};
        set<int> left;
        for(int i = 1;i<N;i++)left.insert(i);
        for(int i=0;i<N-2;i++){
            int f=*(left.begin());
            int s=*(++left.begin());
            if(are_connected({cur}, {f})){
                left.erase(f);
                res.push_back(f);
                cur=f;
            }
            else{
                left.erase(s);
                res.push_back(s);
                cur=s;
            }
        }
        auto last=*(left.begin());
        if(are_connected({res.back()},{last})){
            res.push_back(last);
            return res;
        }
        else{
            auto t1=res.back();
            res.pop_back();
            auto t2=res.back();
            res.pop_back();
            res.push_back(t1);
            res.push_back(t2);
            res.push_back(last);
            return res;
        }
    }
    return {};
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...