输出不对求助(小问题)
  • 板块P1238 走迷宫
  • 楼主hjw100516
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/4 13:51
  • 上次更新2024/3/4 18:05:16
查看原帖
输出不对求助(小问题)
911002
hjw100516楼主2024/3/4 13:51
#include<bits/stdc++.h>
#define int long long
using namespace std;
int m,n;
string ans="(";
bool mp[20][20],vis[20][20],sx,sy,ex,ey,flag;
int dx[4]={0,-1,0,1},dy[4]={-1,0,1,0};
void dfs(int x,int y){
	if(x==ex&&y==ey){
		flag=1;
		cout<<ans<<endl;
		return;
	}
	for(int i=0;i<4;i++){
		int xx=x+dx[i],yy=y+dy[i];
		if(mp[xx][yy]&&!vis[xx][yy]){
			int x1=xx,y1=yy,sum=5;
			vis[xx][yy]=1;
			ans+="->(";
			while(x1){
				ans+=char(x1%10+'0');
				x1/=10;
				sum++;
			}
			ans+=",";
			while(y1){
				ans+=char(y1%10+'0');
				y1/=10;
				sum++;
			}
			ans+=")";
			dfs(xx,yy);
			ans=ans.substr(0,ans.size()-sum);
			vis[xx][yy]=0;
		}
	}
}
signed main(){
	scanf("%lld%lld",&m,&n);
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			scanf("%d",&mp[i][j]);
		}
	}
	scanf("%lld%lld%lld%lld",&sx,&sy,&ex,&ey);
	ans+=char(sx+'0');
	ans+=",";
	ans+=char(sy+'0');
	ans+=")";
	dfs(sx,sy);
	if(!flag) printf("-1");
	return 0;
}

下载的数据点自测都过了,但他说我每个点只输了一个“-1”

2024/3/4 13:51
加载中...