이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "dungeons.h"
using namespace std;
int ans=0,nn;
vector<int> se,le,pe,we;
vector<long long> dis;
vector<bool> vis;
long long dfs(int x)
{
if(x==nn)
return 0;
vis[x]=true;
if(dis[we[x]]==-1)
dis[x]=dfs(we[x])+se[x];
else
dis[x]=dis[we[x]]+se[x];
return dis[x];
}
void init(int n,vector<int> s,vector<int> p,vector<int> w,vector<int> l)
{
se.resize(n);
le.resize(n);
pe.resize(n);
we.resize(n);
dis.assign(n,-1);
vis.assign(n,false);
nn=n;
se=s;
le=l;
we=w;
pe=p;
for(int x=0;x<n;x++)
{
if(!vis[x])
dfs(x);
}
}
long long self(int x,int z)
{
if(x==nn)
return z;
if(z>=se[x])
return z+dis[x];
if(z<se[x])
return self(le[x],z+pe[x]);
}
long long simulate(int x, int z)
{
return self(x,z);
}
컴파일 시 표준 에러 (stderr) 메시지
dungeons.cpp: In function 'long long int self(int, int)':
dungeons.cpp:46:1: warning: control reaches end of non-void function [-Wreturn-type]
46 | }
| ^
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |