# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1259813 | cpdreamer | World Map (IOI25_worldmap) | C++20 | 60 ms | 5604 KiB |
#include "worldmap.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define V vector
#define pb push_back
#define all(v) v.begin(),v.end()
const long long MOD=1e9+7;
#define P pair
#define F first
#define S second
void file() {
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
}
V<int>adj[41];
V<int>t[41];
bool vis[41];
V<int>v;
void dfs(int n) {
vis[n]=true;
for (auto u:adj[n]) {
if (!vis[u]) {
t[u].pb(n);
t[n].pb(u);
dfs(u);
}
}
}
void dfs1(int n,int p) {
v.pb(n);
for (auto u:t[n]) {
if (u==p)continue;
dfs1(u,n);
}
if (p!=-1) {
v.pb(p);
}
}
std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
for (int i=0;i<=N;i++) {
adj[i].clear();
t[i].clear();
vis[i]=false;
}
v.clear();
for (int i=0;i<M;i++) {
adj[A[i]].pb(B[i]);
adj[B[i]].pb(A[i]);
}
dfs(1);
dfs1(1,-1);
V<int>vp;
set<int>st;
V<int>p(N+1);
int x=1;
for (auto u:v) {
if (st.count(u)) {
vp.pb(u);
}
else {
st.insert(u);
p[u]=x;
x=3-x;
for (int j=0;j<2;j++) {
vp.pb(u);
}
}
}
int sz=(int)vp.size();
V<V<int>>grid;
for (int i=0;i<sz;i++) {
grid.pb(vp);
}
V<int>c(N+1,0);
for (int i=0;i<M;i++) {
int id=-1;
for (int j=0;j<sz;j++) {
if (vp[j]==A[i]) {
id=j;
break;
}
}
grid[2*c[A[i]]+p[A[i]]][id]=B[i];
if (id>0) {
grid[2*c[A[i]]+p[A[i]]][id-1]=A[i];
}
while (id>1) {
if (vp[id-1]==vp[id-2]) {
break;
}
grid[2*c[A[i]]+p[A[i]]][id-2]=vp[id-1];
id--;
}
c[A[i]]++;
}
return grid;
}
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... |