Submission #6139

#TimeUsernameProblemLanguageResultExecution timeMemory
6139gs13068한자 끝말잇기 (JOI14_kanji)C++98
0 / 100
235 ms12428 KiB
#include "Annalib.h" static long long D[300][300]; static long long D2[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]=D2[i][j]=4e18; for(i=0;i<M;i++) { D[A[i]][B[i]]=C[i]; for(j=0;j<K;j++)if(i==U[j])break; if(j==k)D2[A[i]][B[i]]=C[i]; } for(i=0;i<N;i++)D[i][i]=D2[i][j]=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]; if(D2[i][j]>D2[i][k]+D2[k][j])D2[i][j]=D2[i][k]+D2[k][j]; } for(i=0;i<Q;i++) { k=0; for(j=0;j<K;j++)if(D2[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=(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:9:13: warning: unused variable 'l' [-Wunused-variable]
   int i,j,k,l;
             ^
Anna.cpp:15:5: warning: 'k' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(j==k)D2[A[i]][B[i]]=C[i];
     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...