| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1307827 | exoworldgd | World Map (IOI25_worldmap) | C++20 | 0 ms | 0 KiB |
#include "worldmap.h"
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
using ll=long long;
vector<vector<int>>create_map(int n,int m,vector<int>a,vector<int>b){
vector<int>g[n],tour;
for(int i=0;i<m;i++)a[i]--,b[i]--,g[a[i]].push_back(b[i]),g[b[i]].push_back(a[i]);
int vis[n]={},k=2*m+1,depth[n];
auto dfs=[&](auto&self,int x)->void{
vis[x]=1,tour.push_back(x);
for(int i:g[x]){
if(!vis[i])depth[i]=depth[x]+1,self(self,i),tour.push_back(x);
else if(depth[x]<depth[i])tour.push_back(i),tour.push_back(x);
}
};
dfs(dfs,0);
vector<vector<int>>ans(k,vector<int>(k));
for(int i=0;i<k;i++)for(int j=0;j<k;j++)ans[i][j]=tour[j]+1;
return ans;
}
