#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<set<int>>adj(n+1);
for(int i=0;i<m;i++)adj[a[i]].insert(b[i]),adj[b[i]].insert(a[i]);
bool ok=(m==n-1);
if(ok)for(int i=1;i<=n-1;i++)if(!adj[i].count(i+1)){ok=0;break;}
if(ok){
vector<vector<int>>g(1,vector<int>(n));
for(int i=0;i<n;i++)g[0][i]=i+1;
return g;
}
int k=2*n;
vector<vector<int>>g(k,vector<int>(k));
for(int i=0;i<n;i++){
int r=i*2,c=i*2;
for(int dr=0;dr<2&&r+dr<k;dr++)for(int dc=0;dc<2&&c+dc<k;dc++)g[r+dr][c+dc]=i+1;
}
for(int i=0;i<m;i++){
int c1=a[i]-1,c2=b[i]-1,r1=c1*2,col1=c1*2,r2=c2*2,col2=c2*2;
if(r1>r2)swap(r1,r2),swap(col1,col2),swap(c1,c2);
if(abs(c1-c2)==1){
int minc=min(col1,col2),maxc=max(col1,col2);
for(int c=minc+2;c<maxc;c++)g[r1][c]=a[i];
}
}
return g;
}
| # | 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... |