记录编号 538474 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 Gravatar没啥,随心 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2019-07-25 00:25:40 内存使用 39.46 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,m,s,e,a[2600][2600],b[2600],head=0,tail=0;
int c[2600];
int push(int x)
{
    b[tail]=x;
    tail++;
    
}
int get(){
    return b[head];
}
int pop(){
    head++;
}
int js(){
while(head<tail)
{   
    int ns=get();
    for(int i=1;i<=m;i++)
    if(a[i][1]==ns) 
{   
    if(c[a[i][1]]+1<c[a[i][2]])
    c[a[i][2]]=c[a[i][1]]+1;
    if(a[i][2]==e)
    return c[a[i][2]];
    else
    push(a[i][2]);
}   pop();	
}
}    
int main(){ 
    freopen("city.in","r",stdin);
    freopen("city.out","w",stdout);
    cin>>n>>m>>s>>e;
    for(int i=1;i<=m;i++)
    for(int j=1;j<=2;j++)
    cin>>a[i][j];
    
    for(int i=1;i<=2599;i++)
    c[i]=99999; 
    c[s]=1;
    if(s==e) cout<<"1";
    else
{
    push(s);
    cout<<js();
}
    
    
    
}