最后的链结失败: 错误的地址
查看原帖
最后的链结失败: 错误的地址
194790
祸榊__楼主2020/7/28 16:28

No valid executable file was produced by the compiler /usr/bin/ld: 最后的链结失败: 错误的地址 collect2: 错误:ld 返回 1 谁能帮个忙告诉我这是什么错误,我自己在电脑上可以运行

#include<cstdio>
#define li(i,j,k) for(int i=j ; i<=k ; i++)
#define si(i,j,k) for(int i=j ; i>=k ; i--)
inline int read(){
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0' || ch>'9'){
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0' && ch<='9'){
		x=(x<<3)+(x<<1)+ch-'0';
		ch=getchar();
	}
	return x*f;
}
int min(int a,int b){
	return a<b?a:b;
}
int n=read(),m=read(),s=read();
int dis[10001][10001]={0x7fffffff};
int way[100001];
int dijkstra(){
	bool used[100001]={false};
	while(1){
		int v=-1;
		li(i,1,n){
			if(!used[i] && (v==-1 || way[i]<way[v])){
				v=i;
				break;
			}
		}
		if(v==-1)break;
		used[v]=true;
		printf("%d %d\n",used[v],v);
		li(i,1,n){
			way[i]=min(way[i],way[v]+dis[v][i]);
		}
	}
	return 0;
}
int main(){
	li(i,1,m){
		int a=read(),b=read(),c=read();
		if(a==s)way[b]=c;
		dis[a][b]=c;
	}
	dijkstra();
	way[s]=0;
	li(i,1,n){
		printf("%d",way[i]);
		if(i==n)printf("\n");
		else printf(" ");
	}
	return 0;
}
2020/7/28 16:28
加载中...