为什么加freopen就炸了?
查看原帖
为什么加freopen就炸了?
1079531
lcycl楼主2024/10/4 08:52

请犇犇们看看,调好了给灌注(我被JC了,所以才事这个名字QWQ)

#include<bits/stdc++.h>
using namespace std;
int nimm[5001];
int a[5001][5001];
bool vis[5001];
int main(){
	int n,m;
    freopen("build.in","r",stdin);
    freopen("build.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int x,y,z;
		cin>>x>>y>>z;
		cout<<x<<" "<<y<<" "<<z<<"\n";
        ++x;
        ++y;
		if(a[x][y]==0){
			a[x][y]=z;
		    a[y][x]=z;
		}
		else{
			a[x][y]=min(z,a[x][y]);
		    a[y][x]=min(z,a[y][x]);
		}
	}
	memset(nimm,0x7f,sizeof(nimm));
	nimm[1]=0;
	long long ans=0;
	for(int i=1;i<=n;i++){
		long long k=0;
		for(int j=1;j<=n;j++)
			if(!vis[j]&&(nimm[j]<nimm[k]))
				k=j;
		vis[k]=1;ans+=nimm[k];
		// cerr<<k<<' '<<nimm[k]<<endl;
		for(int j=1;j<=n;j++)
			if(!vis[j]&&(a[k][j]<nimm[j])&&a[k][j]!=0)
				nimm[j]=a[k][j];
	}
	cout<<ans;
	return 0;
}
2024/10/4 08:52
加载中...