记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 5ms 6.375 MiB
#2 Accepted 7ms 4.484 MiB
#3 Accepted 37ms 5.0 MiB
#4 Accepted 284ms 11.824 MiB

代码

#include<cstdio>
#include<queue>
#define N 1000010
using namespace std;
int n,m,dis[N],head[N],cnt=1;
bool vis[N];
queue <int> q;
struct hhh
{
    int to,next;
}edge[N];

void add(int u,int v)
{
    edge[cnt].to=v;
    edge[cnt].next=head[u];
    head[u]=cnt++;
}

void bfs()
{
    q.push(1);
    vis[1]=1;
    while (!q.empty())
    {
	int r=q.front();q.pop();
	for (int i=head[r];i;i=edge[i].next)
	    if (!vis[edge[i].to])
		vis[edge[i].to]=1,dis[edge[i].to]=dis[r]+1,q.push(edge[i].to);
    }
}

int main()
{
    scanf("%d%d",&n,&m);
    for (int i=1,u,v;i<=m;i++)
    {
	scanf("%d%d",&u,&v);
	add(u,v);
    }
    bfs();
    printf("%d",dis[n]);
    return 0;
}

信息

递交者
类型
递交
题目
链式前向星/BFS 板题
题目数据
下载
语言
C++
递交时间
2017-11-19 13:45:08
评测时间
2017-11-19 13:46:01
评测机
分数
100
总耗时
334ms
峰值内存
11.824 MiB