제출 #227506

#제출 시각아이디문제언어결과실행 시간메모리
227506MKopchev도서관 (JOI18_library)C++14
0 / 100
3102 ms2936 KiB
#include "library.h"
#include <bits/stdc++.h>
using namespace std;


const int nmax=1e5+42;

vector<int> adj[nmax];
/*
vector<int> order={4,2,5,3,1};

int Query(vector<int> in)
{
    bool active=0;
    int ret=0;
    for(auto k:order)
    {
        if(in[k-1])
        {
            if(active==0)ret++;
            active=1;
        }
        else active=0;
    }
    return ret;
}
void Answer(vector<int> outp)
{
    for(auto k:outp)printf("%i ",k);
}
*/
vector<int> outp;
void dfs(int node,int par)
{
    outp.push_back(node);
    for(auto k:adj[node])
        if(k!=par)dfs(k,node);
}

void Solve(int n_)
{
    vector<int> help={};
    for(int i=0;i<n_;i++)help.push_back(0);

    for(int i=0;i<n_;i++)
        for(int j=i+1;j<n_;j++)
        {
            help[i]=1;
            help[j]=1;

            if(Query(help)==1)
            {
                //cout<<i+1<<" to "<<j+1<<endl;
                adj[i+1].push_back(j+1);
                adj[j+1].push_back(i+1);
            }

            help[i]=0;
            help[j]=0;
        }

    for(int i=1;i<=n_;i++)
        if(adj[i].size()==1)
        {
            dfs(i,0);
            Answer(outp);
            return;
        }

}
/*
int main()
{
    Solve(5);

    return 0;
}
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...