2012-08-10 2 views
0

현재 codechef에서 this problem을하고 있습니다.코덱 솔루션

여러 번 시도한 후에도 "오답"이 나옵니다. 그것의 일종의 경쟁 이후 나는 어떤 직접적인 대답도 원하지 않지만, 나는 단지 내 코드가 무엇이 잘못되었는지 궁금해하고있다.

#include <iostream> 

using namespace std; 
int T[260][260]; 
int num; 
int main() 
{ 
int i,j,I,ii,jj,o,c,b; 
int S,G,D; 
long long int M; 
int dist[260][260]; 
int res1,res2,res3; 
int tdis,mdis,dis; 
cin>>num; 
for(i=0;i<num;i++) 
     { 
       for(j=0;j<num;j++) 
       { 
       cin>>T[i][j]; 
       } 
     } 

for (ii = 0; ii < num; ii++) 
     for (jj = 0; jj < num; jj++) 
      dist[ii][jj] = T[ii][jj]; 



    for (o = 0; o < num; o++) 
    { 

     for (b = 0; b < num; b++) 
     { 

      for (c = 0; c < num; c++) 
      { 

       if (dist[b][o] + dist[o][b] < dist[b][c]) 
        dist[b][c] = dist[b][o] + dist[o][c]; 
      } 
     } 
    }   
cin>>M; 
for(I=0;I<M;I++) 
{ 
cin>>S; 
cin>>G; 
cin>>D; 
res1=dist[S][G]; 
res2=dist[G][D]; 
tdis=res1+res2; 
mdis=dist[S][D]; 
dis=tdis-mdis; 
if(dis<0) 
cout<<tdis<<" "<<0<<"\n"; 
else 
cout<<tdis<<" "<<dis<<"\n"; 
} 
return 0; 
} 

사실, 나는 새롭고 어떤 지침이 도움이 될 것입니다! 검사 할 때

답변

0

사실 당신은 오타 (내 생각)을 만들고있는 경우 DIST [B] [O] + DIST [O] [C] 당신이 쓴

DIST [B] [O] + DIST [ O] [b] !!!