제출 #982825

#제출 시각아이디문제언어결과실행 시간메모리
982825alo_54게임 (APIO22_game)C++17
30 / 100
4005 ms3660 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;

struct Nodo
{
  vector <int> ady;
  bool special = false;

};

vector <Nodo> g;
vector <bool> vis;
bool acPos = 0;
int K;

void dfs(int node, int start)
{
  //cout<<"call "<<node<<endl;

  vis[node] = true;
  
  for (auto i : g[node].ady)
  {
    //cout<<"check "<<i<<endl;
    if (!vis[i])
    {
      //cout<<"check "<<i<<endl;
      dfs(i, start);
    }else
    {
      if (i == start)
      {
        acPos = true;
      }
    
    }
  }


}

void init(int n, int k) 
{
  vis.resize(n);
  g.resize(n);

  K = k;
  
  for (int i = 0; i < k; i++)
  {
    g[i].special = true;

    if (i != k-1)
    {
      g[i].ady.push_back(i+1);
    }
    
    
  }
  
}

int add_teleporter(int u, int v) 
{
  fill(vis.begin(), vis.end(), false);
  g[u].ady.push_back(v);

  if (!acPos)
  {

    for (int i = K - 1; i >= 0; i--)
    {
      dfs(i, i);
    }
    
  }
  
  
  return acPos;
}
#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...