# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1263149 | nerrrmin | World Map (IOI25_worldmap) | C++20 | 1 ms | 324 KiB |
#include "worldmap.h"
#define pb push_back
#include <bits/stdc++.h>
using namespace std;
const int maxn = 55;
int n, m;
vector < pair < int, int > > g[maxn];
vector < int > path;
int used[maxn];
int seen[maxn];
void dfs(int beg, int from)
{
path.pb(beg);
used[beg] = 1;
for(auto &[nb, i]: g[beg])
{
if(used[nb])
{
continue;
}
if(nb == from)
{
continue;
}
dfs(nb, beg);
path.pb(beg);
}
}
int butai[maxn];
std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B)
{
assert(M >= N-1);
n = N;
m = M;
path.clear();
for (int i = 1; i <= n; ++ i)
used[i] = 0;
for (int i = 0; i <= 2*n; ++ i)
g[i].clear();
for (int i = 0; i < m; ++ i)
{
g[A[i]].pb({B[i], i});
g[B[i]].pb({A[i], i});
}
dfs(1, 0);
int szp = path.size();
for (int i = 0; i <= n; ++ i)
seen[i] = 0;
for (int i = 0; i <= 600; ++ i)
butai[i] = 0;
vector < int > pat;
for (int j = 0; j < szp; ++ j)
{
int ver = path[j];
pat.pb(ver);
if(!seen[ver])
{
pat.pb(ver);
butai[pat.size()-1] = ver;
pat.pb(ver);
seen[ver] = 1;
}
}
int szpat = pat.size();
std::vector<std::vector<int>> ans(szpat, std::vector<int>(szpat, 0));
for (int i = 0; i < szpat; ++ i)
ans[0][i] = pat[i];
for (int j = 0; j < szpat; ++ j)
{
if(!butai[j])
{
for(int i = 1; i < szpat; ++ i)
ans[i][j] = ans[i-1][j];
}
else
{
int i = 1;
int v = butai[j];
for (auto &[x, iiii]: g[v])
{
ans[i][j] = x;
i ++;
ans[i][j] = v;
i ++;
}
while(i < szpat)
{
ans[i][j] = v;
i ++;
}
}
}
return ans;
}
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |