我为啥子报错了???

P1443 马的遍历

@[MC00101](/user/937468) `dfs` 返回值是 `void`,所以不能输出。改正:`printf("%-5d",dfs(i,j));`->`dfs(i,j);printf("%-5d",minn);`
by yuanxiuan @ 2023-07-15 19:47:11


谢谢大佬
by MC00101 @ 2023-07-15 20:25:46


我知道了 改了下代码 改后代码如下: ```cpp #include <bits/stdc++.h> using namespace std; int x,y,xx,yy; int minn,k=0; int fx[9]={0,1,2,-1,2,-2,1,-2,-1}; int fy[9]={0,2,1,2,-1,1,-2,-1,-2}; int a[1001][1001]; void dfs(int i,int j){ if(xx==i&&yy==j){ minn=min(minn,k); return ; } for(int sq=1;i<=8;i++){ int tx=xx+fx[sq],ty=yy+fy[sq]; if(tx>=1&&tx<=x&&ty>=1&&ty<=y&&a[tx][ty]==0){ k++; a[tx][ty]=1; dfs(tx,ty); a[tx][ty]=0; k--; } } } int main(){ cin>>x>>y>>xx>>yy; for(int i=1;i<=x;i++){ for(int j=1;j<=y;j++){ minn=INT_MAX; k=0; if(xx==i&&yy==j){ printf("%-5d",0); } dfs(i,j); if(minn==INT_MAX){ printf("%-5d",-1); } else{ dfs(i,j); printf("%-5d",minn); } } cout<<endl; } return 0; } ```
by MC00101 @ 2023-07-15 20:27:45


但是全是-1
by MC00101 @ 2023-07-15 20:45:54


但是就连小小样例都全WA了 - <> <> - || ||
by MC00101 @ 2023-07-15 20:49:07


|