蒟蒻求助,全RE
  • 板块学术版
  • 楼主Bai_xi
  • 当前回复0
  • 已保存回复0
  • 发布时间2020/9/21 22:29
  • 上次更新2023/11/5 12:48:46
查看原帖
蒟蒻求助,全RE
213193
Bai_xi楼主2020/9/21 22:29
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m,a,b,c;
struct node{
	ll x,y,t,used;
};
node ttt[3][1001][1001];
ll addx[4]={0,0,1,-1};
ll addy[4]={1,-1,0,0};
queue<node> q;
ll maps[1001][1001];
ll k=0;
ll ans=1e18;
ll minn(ll a,ll b){
	return a<b?a:b;
}
void bfs(){
	while(!q.empty()){
		node t=q.front();
		q.pop();
		ttt[k][t.x][t.y].used=0;
		for(ll i=0;i<4;i++){
			ll x=t.x+addx[i],y=t.y+addy[i];
			if(x<=n&&x>=1&&y<=m&&y>=1&&ttt[k][x][y].t>t.t+maps[x][y]){
				ttt[k][x][y].t=t.t+maps[x][y];
				if(!ttt[k][x][y].used)q.push(ttt[k][x][y]);
				ttt[k][x][y].used=1;
			}
		}
	}
}
int main(){
	cin>>n>>m>>a>>b>>c;
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<=m;j++){
			cin>>maps[i][j];
			for(ll d=0;d<4;d++){
				ttt[d][i][j].x=i;
				ttt[d][i][j].y=j;
				ttt[d][i][j].t=INT_MAX;
				ttt[d][i][j].used=0;
			}
			
		}
	}
	ttt[0][1][a].t=maps[n][a];
	ttt[1][n][b].t=maps[1][b];
	ttt[2][n][c].t=maps[1][c];
	ttt[2][n][c].used=1;
	ttt[1][n][b].used=1;
	ttt[0][1][a].used=1;
	q.push(ttt[0][1][a]);
	bfs();
	k++;
	q.push(ttt[1][n][b]);
	bfs();
	k++;
	q.push(ttt[2][n][c]);
	bfs();
/*	for(ll d=0;d<3;d++){
		for(ll i=1;i<=n;i++){
			for(ll j=1;j<=m;j++){
				cout<<ttt[d][i][j].t<<" ";
			}
			cout<<endl;
		}
		cout<<endl;
	}
*/
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			ans=minn(ans,ttt[0][1][a].t+ttt[1][n][b].t+ttt[2][n][c].t);
		}
	}	
	cout<<ans;
	return 0;
}
[这里](https://www.luogu.com.cn/problem/P6833)全是RE,请问出了什么问题?

2020/9/21 22:29
加载中...