제출 #1351279

#제출 시각아이디문제언어결과실행 시간메모리
1351279scalifrastico_098World Map (IOI25_worldmap)C++20
0 / 100
7 ms1128 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std; 
#define ll long long
vector<vector<int>> ans, kl;
queue<int> h; set<int>l; vector<char> vis;
void dfs(int u, int p)
{
  vis[u]=1;h.push(u); l.insert(u); 
  for(auto x: kl[u]){if(x==p)continue; if(vis[x])continue;dfs(x, u); h.push(u);}
}
vector<vector<int>> create_map(int n, int m, vector<int> a, vector<int> b) {
  kl.assign(n+1, vector<int>()); vis.assign(n+1, 0);
  for(ll i=0; i<m; i++){kl[a[i]].push_back(b[i]); kl[b[i]].push_back(a[i]);} dfs(1, 0);
  int y=3*l.size()+2*(h.size()-l.size()); ans.assign(y, vector<int>(y, -1)); int j=0; map<int, int> o;
  while(!h.empty())
  {
    int u=h.front(); h.pop(); 
    for(int i=0; i<y; i++){ans[j][i]=u;} j++;
    if(o[u]==0)
    {
      for(int i=0; i<y; i++){ans[j][i]=u;} int i=1; for(auto x: kl[u]){ans[j][i]=x; i+=2;}j++;
    }
    o[u]++; for(int i=0; i<y; i++){ans[j][i]=u;} j++;
  }
  return ans;
}
#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...