- 遭遇战
- 2015-04-13 13:10:48 @
这代码电脑上能编译,提交上去就ce了
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#define N 110010
using namespace std;
int fa[N],next[N],end[N],n,s,t,path[N],tot,h[N*10],dis[N];
bool visit[N];
void add(int a,int b,int c)
{
tot++;
end[tot]=b;
path[tot]=c;
next[tot]=fa[a];
fa[a]=tot;
}
int main()
{
scanf("%d%d%d",&n,&s,&t);
for (int i=1;i<=n;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
add(x,y+1,z);
}
for (int i=2;i<=90000;i++)
add(i,i-1,0);
visit[s]=true;
memset(dis,60,sizeof(dis));
dis[s]=0;
int q=0,w=1;
h[1]=s;
while (q<w)
{
q++;
int now=h[q];
for (int i=fa[now];i;i=next[i])
if (dis[end[i]]>dis[now]+path[i])
{
dis[end[i]]=dis[now]+path[i];
if (!visit[end[i]])
{
w++;
h[w]=end[i];
visit[end[i]]=true;
}
}
visit[now]=false;
}
if (dis[t]!=dis[0])
printf("%d",dis[t]);
else printf("-1");
}
4 条评论
-
AnthropoceneJia LV 4 @ 2018-09-25 16:47:29
c?algorithm?
-
2015-04-15 11:36:47@
没有返回值。。return
-
2015-04-13 14:37:42@
C++没有CE呀0.0
-
2015-04-13 13:15:51@
要加
#include <cstdlib>
- 1