记录详情

Wrong Answer


  
# 状态 耗时 内存占用
#1 Wrong Answer 5ms 6.25 MiB
#2 Wrong Answer 11ms 6.371 MiB
#3 Accepted 60ms 8.953 MiB
#4 Accepted 453ms 16.211 MiB

代码

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
int go[1000001];
int adj[1000001];
int nxt[1000001];
bool pd[1000001];
int ecnt=0,m,n,a,b;
struct node
{
	int cur,dis;
};
queue <node> que;
void add(int u,int v)
{
	go[ecnt++]=v;
	nxt[ecnt]=adj[u];
	adj[u]=ecnt;
}
void bfs()
{
	que.push((node){1,0});
	while(!que.empty())
	{
		node now=que.front();
		que.pop();
		if(now.cur==n)
		{
			printf("%d",now.dis);
			return;
		}
		for(int e=adj[now.cur];e!=0 ;e=nxt[e])
		{
			if(!pd[e])
			{
				node putin=now;
				putin.cur=go[e];
				putin.dis++;
				pd[e]=1;
				que.push(putin);
			}
		}
	}
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d",&a,&b);
		add(a,b);
	}
	bfs();
	return 0; 
} 

信息

递交者
类型
递交
题目
链式前向星/BFS 板题
题目数据
下载
语言
C++
递交时间
2017-11-19 23:28:34
评测时间
2017-11-19 23:28:34
评测机
分数
50
总耗时
530ms
峰值内存
16.211 MiB