codechef解决方案

时间:2012-08-10 15:51:05

标签: algorithm

我目前正在使用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;
}

实际上,我是新手,任何指导都会有所帮助!

1 个答案:

答案 0 :(得分:0)

实际上你在检查dist [b] [o] + dist [o] [c]

时是否输了一个错字(我猜)

你写了dist [b] [o] + dist [o] [b] !!!