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 "rail.h"
#include <bits/stdc++.h>
using namespace std;
void findLocation(int N, int first, int location[], int stype[])
{
location[0] = first;
stype[0] = 1;
int i, j, f, r = 99999999;
vector<vector<int> > v(N);
vector<int> di(N, r), cl(N);
for (i = 1; i < N; i++)
location[i] = stype[i] = -1;
for (i = 0; i < N; i++)
{
v[i].resize(N);
for (j = 0; j < N; j++)
{
if (j < i)
v[i][j] = v[j][i];
else if (j == i)
v[i][j] = 0;
else
v[i][j] = getDistance(i, j);
if (v[i][j] && v[i][j] < di[i])
{
di[i] = v[i][j];
cl[i] = j;
}
}
}
f = cl[0];
location[f] = first + di[0];
stype[f] = 2;
for (i = 1; i < N; i++)
{
if (i == f)
continue;
if (v[0][i] < v[f][i])
{
location[i] = location[0] + v[0][i];
stype[i] = 2;
}
else
{
location[i] = location[f] - v[f][i];
stype[i] = 1;
}
}
}
# | 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... |