이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#ifndef SKY
#include "game.h"
#endif // SKY
using namespace std;
#define N 100010
#define ll long long
#define fs first
#define sc second
#define ii pair<ll,int>
#define pb push_back
int dp[N],n,k;
vector<int>g[N];
void init(int NNN, int KKK)
{
n=NNN;
k=KKK;
memset(dp,0x3f3f,sizeof(dp));
}
void solve(int u)
{
int val=(u<k ? u : dp[u]);
for(auto v:g[u])
if(dp[v]>val)
{
dp[v]=val;
solve(v);
}
}
int add_teleporter(int u, int v)
{
g[v].pb(u);
solve(v);
// cout<<u<<" "<<v<<endl;
// for(int i=0;i<n;i++)cout<<dp[i]<<" ";cout<<endl;
for(int i=0;i<k;i++)
if(dp[i]<=i)
return 1;
return 0;
}
#ifdef SKY
int main()
{
freopen("A.inp","r",stdin);
freopen("A.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int n,k;
cin>>n>>k;
init(n,k);
int q;
cin>>q;
while(q--)
{
int u,v;
cin>>u>>v;
cout<<add_teleporter(u,v)<<endl;
}
return 0;
}
#endif
# | 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... |