Submission #1318366

#TimeUsernameProblemLanguageResultExecution timeMemory
1318366ezzzayWorld Map (IOI25_worldmap)C++20
12 / 100
4 ms824 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
vector<int>adj[50];
vector<int>rt;
bool vis[100];
void dfs(int a){
    vis[a]=1;
    rt.pb(a);
	for(auto b:adj[a]){
		if(vis[b])continue;
		dfs(b);
		rt.pb(a);
	}
}
std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
	for(int i=1;i<=N;i++){
		adj[i].clear();
	}
	for(int i=0;i<M;i++){
		adj[A[i]].pb(B[i]);
		adj[B[i]].pb(A[i]);
	}
	rt.clear();
	for(int i=1;i<=N;i++)vis[i]=0;
	dfs(1);
	int h=N*3;
	vector< vector< int> > v(h, vector<int> (h));
	for(int i=0;i<h;i++){
	    for(int j=0;j<h;j++)v[i][j]=1;
	}
	for(int i=0;i<rt.size();i++){
	    int x=i*3;
	    for(int j=0;j<=min(x,h-1);j++){
	        int k=x-j;
	        if(k>h-1)continue;
	        v[j][k]=rt[i];
	    }
	    x=i*3+2;
	    for(int j=0;j<=min(x,h-1);j++){
	        int k=x-j;
	        if(k>h-1)continue;
	        v[j][k]=rt[i];
	    }
	    x=i*3+1;
	    for(int j=0;j<=min(x,h-1);j++){
	        int k=x-j;
	        if(k>h-1)continue;
	        v[j][k]=rt[i];
	    }
	    vector<pair<int,int>>del;
	    int cnt=0;
	    for(int j=0;j<=min(x,h-1);j++){
	        int k=x-j;
	        if(k>h-1)continue;
	        int a=rt[i];
	        if(cnt<adj[a].size()){
	            v[j][k]=adj[a][cnt];
	            del.pb({a,adj[a][j]});
	        }
	        cnt++;
	    }
	    for(auto p:del){
	        erase(adj[p.ff],p.ss);
	        erase(adj[p.ss],p.ff);
	    }
	    
	}
	return v;
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...