結果

問題 No.2096 Rage With Our Friends
ユーザー tails
提出日時 2022-10-07 22:45:05
言語 cLay
(20241019-1)
結果
WA  
実行時間 -
コード長 708 bytes
コンパイル時間 2,799 ms
コンパイル使用メモリ 186,552 KB
実行使用メモリ 14,016 KB
最終ジャッジ日時 2024-06-12 20:02:33
合計ジャッジ時間 9,920 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 7 WA * 4 TLE * 1 -- * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

ll h,w,d[2000],e[];
char s[2000][2001];
bool on;

void f(ll x,ll y,ll t){
	rrep(u,d[y]+1,t+1){
		if(s[u][y]=='.'){
			d[y]=u;
			on=true;
			ll t2=min(h-1,u+1+max(0,x-u)/2);
			if(y>0) f(u,y-1,t2);
			if(y<w-1>0) f(u,y+1,t2);
			break;
		}
	}
}

{
	rd(h,w);
	ll@--sx,@--sy,@--gx,@--gy;
	d[0..w-1]=-1;
	d[sy]=0;
	rd(s(h));
	ll z=0;
	{
		on=false;
		if(sy>0) f(sx,sy-1,sx+1);
		if(sy<w-1) f(sx,sy+1,sx+1);
		if(d[gy]==gx){
			wt(z);
			exit(0);
		}
	}
	while(on){
		++z;
		on=false;
		e[0..w-1]=d[0..];
		rep(y,w){
			if(y>1){
				f(0,y,min(h-1,e[y-2]+1));
			}
			if(y<w-3){
				f(0,y,min(h-1,e[y+2]+1));
			}
			{
				f(0,y,min(h-1,e[y]+1));
			}
		}
		if(d[gy]==gx){
			wt(z);
			exit(0);
		}
	}
	wt(-1);
}
0