听说灌水区大佬多
  • 板块灌水区
  • 楼主thallo
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/6/10 12:02
  • 上次更新2024/6/10 15:36:11
查看原帖
听说灌水区大佬多
910139
thallo楼主2024/6/10 12:02

梦熊

2024--NOIP端午联赛0609--多校联测【补题】t1题面

#include<bits/stdc++.h>
using namespace std;
long long n,m,sx,sy,tx,ty,g[105][105],vis[105][105],h[105][105],l[105][105];
long long dx[]={0,1,0,-1,0};
long long dy[]={0,0,1,0,-1};
double s,ans=0x3f3f3f3f;
queue<pair<long long,long long> >q;
int main()
{
	freopen("msg.in","r",stdin);
	freopen("msg.out","w",stdout);
	cin>>n>>m>>sx>>sy>>tx>>ty ;
	for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>g[i][j];
	cin>>s;
	vis[sx][sy]=1;
	q.push(make_pair(sx,sy));
	while(q.size())
	{
		long long x=q.front().first,y=q.front().second;
		if(x==tx&&y==ty)
		{
			if(h[tx][ty]==0)
			{
				cout<<"0.000";
				return 0;
			}
			ans=min(ans,(s-l[tx][ty])/h[tx][ty]);
		}
		q.pop();
		for(int i=1;i<=4;i++)
		{
			long long xx=x+dx[i],yyy=y+dy[i];
			if((!vis[xx][yyy])&&(!g[xx][yyy])&&(xx<=n)&&(1<=xx)&&(yyy<=m)&&(1<=yyy))
			{
				vis[xx][yyy]=1;
				h[xx][yyy]=h[x][y];
				l[xx][yyy]=l[x][y];
				q.push(make_pair(xx,yyy));
				if(xx!=x)h[xx][yyy]++;
				else l[xx][yyy]++;
			}
		}
	}
	printf("%.3lf\n",ans);
}

40 wa了

2024/6/10 12:02
加载中...