【最短路】最优乘车

原题链接

连好每个车站可以直接到达的点,设定距离为1,算出此时构成的图的最短路,实际意义为上车数,减1即为换车数。

代码实现:

#include
#define N 500+10
using namespace std;

int n,m;
int d[N],bus[N],used[N];
int a[N][N];
vectorv[N];

int main(){
    cin>>n>>m;
    memset(a,0x3f,sizeof a);
    
    for(int i=1;i>bus[cnt];cnt++;
            ch=getchar();
            if(ch=='\n')break;
        }
        
        cnt--;
        for(int i=1;i>bus[cnt])cnt++;
	cnt--;
    for(int i=1;i=0x3f3f3f3f/2)cout<<"NO";
    else cout<

你可能感兴趣的:(最短路)