# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1250813 | alex0152 | World Map (IOI25_worldmap) | C++20 | 3 ms | 584 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<int>adj[41];
int grad[41],x,y,z,cnt,dist[41];
void dfs(int node,int parent)
{
dist[cnt]=node;
cnt++;
for(auto it : adj[node])
if(it!=parent)
dfs(it,node);
}
vector<vector<int>>create_map(int n, int m,vector<int> a, vector<int> b)
{
for(int i=1; i<=n; ++i)
grad[i]=0,adj[i].clear();
cnt=0;
for(int i=0; i<a.size(); ++i)
{
adj[a[i]].push_back(b[i]);
adj[b[i]].push_back(a[i]);
grad[a[i]]++;
grad[b[i]]++;
}
for(int i=1; i<=n; ++i)
if(grad[i]==1)
x=i;
if(m==n-1)
{
dfs(x,0);
vector<vector<int>>mp(n,vector<int>(n));
for(int i=0; i<n; ++i)
{
z=dist[i];
x=i;
y=0;
for(; y<n;++y)
mp[x][y]=z;
}
return mp;
}
else if(m==n*(n-1)/2)
{
vector<vector<int>>mp(2*n,vector<int>(2*n));
int act=-1;
for(int i=0; i<n; ++i)
{
act++;
for(int j=0; j<n*2; ++j)
{
mp[act][j]=i+1;
}
act++;
for(int j=0; j<n; ++j)
{
mp[act][j]=j+1;
}
for(int j=n; j<n*2; ++j)
{
mp[act][j]=j-n+1;
}
}
return mp;
}
}
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... |