제출 #436121

#제출 시각아이디문제언어결과실행 시간메모리
436121LouayFarah도서관 (JOI18_library)C++14
0 / 100
363 ms832 KiB
#include "bits/stdc++.h"
#include "library.h"

using namespace std;

#define pb push_back

void Solve(int n)
{
    vector<int> m(n);
    vector<int> adj[n+1];
    for(int i = 1; i<=n; i++)
    {
        for(int j = i+1; j<=n; j++)
        {
            m.assign(n, 0);
            m[i-1] = 1, m[j-1] = 1;

            int curr  = Query(m);

            if(curr==2)
            {
                adj[i].pb(j);
                adj[j].pb(i);
            }
        }
    }

    vector<int> res(n, 0);

    for(int i = 1; i<=n; i++)
    {
        if((int)adj[i].size()==1)
        {
            res[0] = i;
            break;
        }
    }
    for(int i = 1; i<=n; i++)
    {
        if((int)adj[i].size()==1&&res[0]!=i)
        {
            res[n-1] = i;
            break;
        }
    }

    for(int i = 1; i<n-1; i++)
    {
        int x = res[i-1];
        if((int)adj[x].size()==1)
        {
            res[i] = adj[x][0];
        }
        else
        {
            if(adj[x][0]==res[i-2])
                res[i] = adj[x][1];
            else
                res[i] = adj[x][0];
        }
    }

    Answer(res);
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...