比赛 |
20121009 |
评测结果 |
AWWWTTAAA |
题目名称 |
最长路 |
最终得分 |
44 |
用户昵称 |
Cloud |
运行时间 |
2.190 s |
代码语言 |
C++ |
内存使用 |
11.87 MiB |
提交时间 |
2012-10-09 19:18:35 |
显示代码纯文本
#include<fstream>
#include<queue>
using namespace std;
struct yu
{
int p;
long long v;
};
queue<yu>dq;
yu tmp;
int map[1501][1501];
int main(void)
{
ifstream fin("longest.in");
ofstream fout("longest.out");
long long max=-1;
int n,m;
fin>>n>>m;
int i,j,k;
for(k=0;k<m;k++)
{
fin>>i>>j;
fin>>map[i][j];
}
for(i=1;i<=n;i++)
if(map[1][i])
{
tmp.p=i;
tmp.v=map[1][i];
if(tmp.p==n)
if(tmp.v>max)
max=tmp.v;
dq.push(tmp);
}
while(dq.size())
{
for(i=1;i<=n;i++)
{
tmp=dq.front();
if(map[tmp.p][i])
{
tmp.v+=map[tmp.p][i];
tmp.p=i;
if(tmp.p==n)
if(tmp.v>max)
max=tmp.v;
dq.push(tmp);
}
}
dq.pop();
}
fout<<max;
fin.close();
fout.close();
return 0;
}