# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
6121 |
2014-06-20T07:35:59 Z |
gs13068 |
한자 끝말잇기 (JOI14_kanji) |
C++ |
|
0 ms |
0 KB |
#include "Annalib.h"
static long long D[300][300];
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;
for(i=0;i<N;i++)for(j=0;j<N;j++)D[i][j]=1e18;
for(i=0;i<M;i++)D[A[i]][B[i]]=D[B[i]][A[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++)
{
for(j=0;j<K;j++)if(D[S[i]][A[U[j]]]+C[U[j]]+D[B[U[j]]][T[i]]==D[S[i]][T[i]])break;
Tap(j&4);
Tap(j&2);
Tap(j&1);
}
}
#include "Brunolib.h"
static long long D[300][300];
static long long V[300][300];
static void answer(int i,int j)
{
if(V[i][j]>0)Answer(V[i][j]);
else
{
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;
for(i=0;i<N;i++)for(j=0;j<N;j++)D[i][j]=1e18;
for(i=0;i<M;i++)if(C[i]>0)
{
D[A[i]][B[i]]=D[B[i]][A[i]]=C[i];
V[A[i]][B[i]]=i+1;
}
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;
}
for(i=0;i<Q;i++)
{
answer(S[i],A[(X[i*3]<<2)&(X[i*3+1]<<1)&X[i*3+2]]);
Answer((X[i*3]<<2)&(X[i*3+1]<<1)&X[i*3+2]);
answer(A[(X[i*3]<<2)&(X[i*3+1]<<1)&X[i*3+2]],E[i]);
Answer(-1);
}
}
Compilation message
Bruno.cpp: In function 'void Bruno(int, int, int*, int*, long long int*, int, int*, int*, int, int*, int, int*)':
Bruno.cpp:34:50: error: 'E' was not declared in this scope
answer(A[(X[i*3]<<2)&(X[i*3+1]<<1)&X[i*3+2]],E[i]);
^