社区讨论

Please tell me why.

P6207[USACO06OCT] Cows on Skates G参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lyfuhrh9
此快照首次捕获于
2024/07/10 20:57
2 年前
此快照最后确认于
2024/07/10 22:55
2 年前
查看原帖
报错
注:先不要看我的输出内容
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,vis[115][80];
int dx[4]={0,0,-1,1};
int dy[4]={1,-1,0,0};
char s[115][80];
struct node{
	int x;
	int y;
};
queue<node>q;
void bfs(int x,int y){
	q.push({x,y});
	while(!q.empty()){
		node a=q.front();
		q.pop();
		for(int i=0;i<4;++i){
			int nx=x+dx[i];
			int ny=y+dy[i];
			if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&vis[nx][ny]==0){
				vis[nx][ny]=vis[x][y]+1;
				q.push({nx,ny});
			}
			if(nx==n&&ny==m){
				printf("%d",vis[nx][ny]-1);
				return;
			}
		}
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j)
			scanf("%c",&s[i][j]);
		getchar(); //避免回车读入 
	}
	vis[1][1]=1;
	printf("1 1\n");
	if(!(n==1||m==1))	bfs(1,1);
	else	printf("1 1\n");
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...