제출 #1296464

#제출 시각아이디문제언어결과실행 시간메모리
1296464eri16게임 (APIO22_game)C++20
0 / 100
1 ms400 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; vector <int> vis; int kk; vector<vector<int>> adj; void init(int n, int k){ adj.assign(n, {}); kk=k; vis.resize(n); for (int i=0; i<k; i++){ vis[i]=k-i; if (i+1<k){adj[i].push_back(i+1);} } for (int i=k; i<n; i++){ vis[i]=k+1; } } void dfs(int node,int color){ vis[node]=color; //cout<<node<<' '<<color<<" node and color"<<"\n"; for (int i=0; i<adj[node].size(); i++){ cout<<kk<<" "<<color<<"\n"; if (kk-color==adj[node][i]){ vis[kk-color]=0; } if (vis[adj[node][i]]>color){ dfs(adj[node][i],color); } } } int add_teleporter(int u, int v){ adj[u].push_back(v); if (u==v && u<kk){return 1;} if (v==kk-vis[u]){return 1;} if (vis[u]<vis[v]){ dfs(v,vis[u]); } for (int i=0; i<kk; i++){ if (vis[i]<kk-i){return 1;} } return 0; }
#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...