CE了,求问15行开始的迭代器怎么写?
查看原帖
CE了,求问15行开始的迭代器怎么写?
1251853
linglu1YGking楼主2025/7/24 09:01
#include<bits/stdc++.h>
using namespace std;

struct node{
	int x,y;
};
deque<node>s;
int m,n,xx,yy,xxx,yyy;
bool mp[16][16];
bool ans=0;
int dix[4][2]={{0,-1},{-1,0},{0,1},{1,0}};

void dfs(int x,int y,int step){
	if(x==xxx && y==yyy){
		deque<node>s::iterator it;
		for(it=s.begin(),it!=s.end()-1;it++)
		    cout<<"("<<*it.x<<","<<*it.y<<")->";
		cout<<"("<<xxx<<","<<yyy<<")"<<endl;
		ans=1;
		return ;
	}
	for(int i=0;i<4;i++){
		int nx=x+dix[i][0];
		int ny=y+dix[i][1];
		if(nx>0 && nx<=m && ny>0 && ny<=n && mp[nx][ny]==1){
			mp[nx][ny]=0;
			s.push_back({nx,ny});
			dfs(nx,ny,step+1);
			mp[nx][ny]=1;
			s.pop_back();
		}
	}
}


int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++)
	    for(int j=1;j<=n;j++)
	    cin>>mp[i][j];
	cin>>xx>>yy>>xxx>>yyy;
	dfs(xx,yy,0);
	if(ans==0) cout<<-1;
	return 0;
}
2025/7/24 09:01
加载中...