# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
97130 | ahgus89 | Snowy Roads (JOI16_snowy) | C++14 | 15 ms | 1820 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "Anyalib.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
static int getL;
static int sz;
void InitAnya(int N, int A[], int B[])
{
int i, j;
sz=N;
return;
}
void Anya(int C[])
{
int i;
for(i = 0 ; i < sz-1 ; i++)
Save(i, C[i]);
}
#include "Borislib.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
vector<vector<int>> graph(505);
static int n;
static pii edge[505];
void InitBoris(int N, int A[], int B[])
{
int i, j;
n=N;
for(i=0;i<n-1;i++)
{
graph[A[i]].emplace_back(B[i]);
graph[B[i]].emplace_back(A[i]);
edge[i].first=A[i];
edge[i].second=B[i];
}
}
int Boris(int c)
{
bool vt[505];
int i, j, dist[505][505];
memset(vt, 0, n);
for(i=0;i<n-1;i++)
dist[edge[i].second][edge[i].first]=dist[edge[i].first][edge[i].second]=Ask(i);
queue<pii> q;
q.emplace(0, 0);
while(!q.empty())
{
pii t=q.front();
q.pop();
int dis=t.first, idx=t.second;
if(vt[idx]) continue;
vt[idx]=1;
if(idx==c)
{
//cout<<c<<' '<<dis<<'\n';
return dis;
}
for(i=0;i<graph[idx].size();i++)
if(!vt[graph[idx][i]]) q.emplace(dis+dist[idx][graph[idx][i]], graph[idx][i]);
}
}
Compilation message (stderr)
# | 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... |