Submission #1160658

#TimeUsernameProblemLanguageResultExecution timeMemory
1160658Aviansh게임 (APIO22_game)C++17
30 / 100
4054 ms9900 KiB
#include "game.h"

#include <bits/stdc++.h>

using namespace std;

const int maxn = 3e5+12;
vector<int>g[maxn];
int vis[maxn];
int myk;
int myn;

void init(int n, int k) {
    myk=k;
    myn=n;
    for(int i = 0;i<k-1;i++){
        g[i].push_back(i+1);
    }
}

int ans = 0;

void dfs(int st){
    vis[st]=1;
    for(int i : g[st]){
        if(vis[i]==2){
            continue;
        }
        if(vis[i]==1){
            if(i<myk){
                ans=1;
            }
            continue;
        }
        dfs(i);
    }
    vis[st]=2;
}

int add_teleporter(int u, int v) {
    if(max(u, v) < myk) {
        if(u >= v) ans=1;
    }
    if(ans>0){
        return 1;
    }
    g[u].push_back(v);
    fill(vis,vis+myn,0);
    dfs(0);
    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...