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 "Annalib.h"
static long long D[300][300];
static int yes[5];
void Anna(int N,int M,int A[],int B[],long long C[],int Q,int S[],int T[],int K,int U[])
{
int i,j,k,l;
for(i=0;i<N;i++)for(j=0;j<N;j++)D[i][j]=4e18;
for(i=0;i<N;i++)D[i][i]=0;
for(i=0;i<M;i++)D[A[i]][B[i]]=C[i];
for(k=0;k<N;k++)for(i=0;i<N;i++)for(j=0;j<N;j++)if(D[i][j]>D[i][k]+D[k][j])D[i][j]=D[i][k]+D[k][j];
for(i=0;i<Q;i++)
{
k=0;
for(j=0;j<K;j++)if(D[S[i]][A[U[j]]]+D[B[U[j]]][T[i]]<D[S[i]][T[i]])yes[k++]=j;
for(j=0;j<k;j++)if(D[S[i]][A[U[j]]]+C[U[yes[j]]]+D[B[U[j]]][T[i]]==D[S[i]][T[i]])break;
if(k<4)
{
Tap(j>>1);
Tap(j&1);
}
else
{
Tap(j>>2);
Tap((j>>1)&1);
Tap(j&1);
}
}
}
#include "Brunolib.h"
static long long D[300][300];
static int V[300][300];
static int yes[5];
static void answer(int i,int j)
{
if(V[i][j]>0)Answer(V[i][j]-1);
if(V[i][j]<0)
{
answer(i,-V[i][j]-1);
answer(-V[i][j]-1,j);
}
}
void Bruno(int N,int M,int A[],int B[],long long C[],int Q,int S[],int T[],int K,int U[],int L,int X[])
{
int i,j,k,l;
for(i=0;i<N;i++)for(j=0;j<N;j++)D[i][j]=4e18;
for(i=0;i<M;i++)if(C[i]>0)
{
D[A[i]][B[i]]=C[i];
V[A[i]][B[i]]=i+1;
}
for(i=0;i<N;i++)
{
D[i][i]=0;
V[i][i]=0;
}
for(k=0;k<N;k++)for(i=0;i<N;i++)for(j=0;j<N;j++)if(D[i][j]>D[i][k]+D[k][j])
{
D[i][j]=D[i][k]+D[k][j];
V[i][j]=-k-1;
}
l=0;
for(i=0;i<Q;i++)
{
k=0;
for(j=0;j<K;j++)if(D[S[i]][A[U[j]]]+D[B[U[j]]][T[i]]<D[S[i]][T[i]])yes[k++]=j;
if(k<4)
{
j=(X[l]<<1)|X[l+1];
l+=2;
}
else
{
j=yes[(X[l]<<2)|(X[l+1]<<1)|X[l+2]];
l+=3;
}
if(j<k)
{
j=yes[j];
answer(S[i],A[U[j]]);
Answer(U[j]);
answer(B[U[j]],T[i]);
}
else answer(S[i],T[i]);
Answer(-1);
}
}
Compilation message (stderr)
Anna.cpp: In function 'void Anna(int, int, int*, int*, long long int*, int, int*, int*, int, int*)':
Anna.cpp:8:13: warning: unused variable 'l' [-Wunused-variable]
int i,j,k,l;
^
# | 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... |