社区讨论

0分求调(正确必关)

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mlme6ffh
此快照首次捕获于
2026/02/14 22:08
5 天前
此快照最后确认于
2026/02/18 20:20
16 小时前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define all(x) x.begin(),x.end()
#define PII pair<int,int>
int n,m;
const int N=150;
int a[N][N];
bool b[N][N];
int dx[]={0,1,0,-1};
int dy[]={-1,0,1,0};
struct xy{
	int x,y;
};
queue<xy> q;
void bfs(int x,int y){
	q.push({x,y});
    memset(b,0,sizeof(b));
	cout<<"1 1"<<endl;
    b[x][y]=1;
	while(!q.empty()){
		xy l=q.front();
		q.pop();
		if(x==n&&y==m){
            cout<<n<<" "<<m;
			return ;
		}
		for(int i=0;i<4;i++){
			int xx=l.x+dx[i];
			int yy=l.y+dy[i];
			if(a[xx][yy]==1&&xx>0&&yy>0&&xx<=n&&yy<=m&&b[xx][yy]==0){
				b[xx][yy]=1;
				q.push({xx,yy});
				cout<<xx<<" "<<yy<<endl;
			}
		}
	}
		
}
void solve(){
//freopen("pow.in","r",stdin);
//freopen("pow.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			char c;
			cin>>c;
			if(c=='*'){
				a[i][j]=1;
			}else{
				a[i][j]=0;
			}
		}
	}
	bfs(1,1);
}
signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	int t;
	t=1;
	//cin>>t;
	while(t--){
		solve();
	}
	return 0;
}

回复

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

正在加载回复...