#include "island.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=500;
vector<int> qry[N];
void solve(int n, int l)
{
for(int i=1;i<=n;i++)
{
qry[i].clear();
for(int k=1;k<=n-1;k++)
{
qry[i].push_back(query(i,k));
}
}
// neighbour of a vertex are a prefix of it qry vector
// grand childeren are subarray
// same goes on
// level-wise of tree when root is i is equal to qry[i]
set<pair<int,int>> edge;
for(int i=1;i<=n;i++)
{
set<ll> cur;
for(auto j:qry[i])
{
if(cur.find(j)!=cur.end())
{
break; // grandchild reached
}
if(i<j)
{
edge.insert({i,j});
}
else
{
edge.insert({j,i});
}
for(auto k:qry[j])
{
if(k!=i)
{
cur.insert(k);
break;
}
}
}
}
for(auto x:edge)
{
answer(x.first,x.second);
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |