没什么大问题, 估计最大值错了, min = 10000; 这个值太小,N 有100, C 有1000所以最大应该设为100000, 或者更大。#include#include#define MAX 105#define INF 10000000int map[MAX][MAX];int vis[MAX];int dis[MAX];void main(){int n,m;while(scanf("%d %d",&n,&m)!=EOF&&n!=0&&m!=0){int a,b,c;int i,j,min,k;memset(map,(int)0,sizeo... |