Why E?
  • 板块学术版
  • 楼主sjh0626
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/14 22:46
  • 上次更新2024/12/15 10:20:40
查看原帖
Why E?
1129497
sjh0626楼主2024/12/14 22:46
#include<bits/stdc++.h>
#define sjh0626s return
#define code 0
#define ull unsigned long long
using namespace std;
int h,w,x,y,dx[4]={0,0,1,-1},dy[4]={1,-1,0,0},nx,ny;
bool vis[1010][1010];
ull X,s[1010][1010],ans;
int main(){
	cin>>h>>w>>X>>x>>y;
	for(int i=1;i<=h;i++){
		for(int j=1;j<=w;j++){
			cin>>s[i][j];
		}
	}
	priority_queue<tuple<ull,int,int>,
			vector<tuple<ull,int,int>>,
			greater<tuple<ull,int,int>>>q;
	vis[x][y]=1;
	ans=s[x][y];
	q.push({0,x,y});
	while(!q.empty()){
//		cout<<"ok ";
		tuple<ull,int,int> u=q.top();
		q.pop();
		if(get<0>(u)>=ans/x)break; 
		ans+=get<0>(u);
		for(int i=0;i<4;i++){
			nx=get<1>(u)+dx[i],ny=get<2>(u)+dy[i];
			if(vis[nx][ny])continue;
			vis[nx][ny]=1;
			q.push({s[nx][ny],nx,ny});
		}
	} 
	cout<<ans;
	sjh0626s code;
}

我测样例,然后突然冒一句:13 once 00DBA834 is 16843009,我提交后还有大量的 RE 和少量 WA

2024/12/14 22:46
加载中...