# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
228032 | AaronNaidu | Simurgh (IOI17_simurgh) | C++14 | 5 ms | 256 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "simurgh.h"
using namespace std;
int n;
vector<int> u, v;
vector<int> subset, toRet;
bool visited[600];
void getSubset(int used, int pos) {
if (used == n-1)
{
for (int i = 0; i < n-1; i++)
{
visited[u[subset[i]]] = true;
visited[v[subset[i]]] = true;
}
bool allRight = true;
for (int i = 0; i < n; i++)
{
if (!visited[i])
{
allRight = false;
}
}
if (allRight)
{
if (count_common_roads(subset) == n-1)
{
toRet = subset;
}
}
for (int i = 0; i < n; i++)
{
visited[i] = false;
}
return;
}
if (pos >= u.size())
{
return;
}
for (int i = pos; i < u.size(); i++)
{
subset.push_back(i);
getSubset(used+1, i+1);
subset.pop_back();
}
}
vector<int> find_roads(int ln, vector<int> lu, vector<int> lv) {
n = ln;
u = lu;
v = lv;
getSubset(0, 0);
return toRet;
}
Compilation message (stderr)
# | 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... |