社区讨论
90pts球跳
P2960[USACO09OCT] Invasion of the Milkweed G参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mjfoeikr
- 此快照首次捕获于
- 2025/12/21 20:00 2 个月前
- 此快照最后确认于
- 2025/12/21 20:24 2 个月前
看了90pts的警示后人好像和我这个没关系。
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=105;
int lx,ly,mx,my;
int a[N][N],dis[N][N];
bool vis[N][N];
int ans;
char c;
int px[8]={0,1,0,-1,1,1,-1,-1},py[8]={1,0,-1,0,1,-1,1,-1};
struct node{
int x,y;
};
queue<node>q;
signed main(){
cin>>ly>>lx>>mx>>my;
for(int i=lx;i>=1;i--){
for(int j=1;j<=ly;j++){
cin>>c;
a[i][j]=(c=='*');
}
}
int sx=lx-my+1,sy=mx;
vis[sx][sy]=true;
q.push({sx,sy});
while(!q.empty()){
int x=q.front().x,y=q.front().y;
q.pop();
for(int i=0;i<8;i++){
int dx=px[i]+x,dy=py[i]+y;
if(dx<1||dy<1||dx>lx||dy>ly||vis[dx][dy]||a[dx][dy])continue;
vis[dx][dy]=true;
dis[dx][dy]=dis[x][y]+1;
ans=max(ans,dis[dx][dy]);
q.push({dx,dy});
}
}
cout<<ans;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...