首页 > 代码库 > 111
111
#include <stdio.h> int map[10][10]; int num[10][10]; int num1[10][10]; int N,min=99; int x,y,x1,y1,x2,y2,x3,y3; int ax[4]={0,1,0,-1}; int ay[4]={1,0,-1,0}; void dfs(int zx , int zy ,int zx1 , int zy1 ,int step) { if(step==5) { return ; } for(int i=0;i<4;i++) { int tx,tx1,ty,ty1; tx=zx+ax[i]; ty=zy+ay[i]; tx1=zx1+ax[i]; ty1=zy1+ay[i]; if((tx>=0&&tx<N&&ty>=0&&ty<N)||(tx1>=0&&tx1<N&&ty1>=0&&ty1<N)) { if((!map[tx][ty]&&(!num[tx][ty]))||(!map[tx1][ty1]&&(!num1[tx1][ty1]))) { while((!map[tx][ty]&&(!num[tx][ty]))||(!map[tx1][ty1]&&(!num[tx][ty]))) { if(!map[tx][ty]||!map[tx1][ty1]) { } } } dfs(tx,ty,tx1,ty1,step+1); } } } int main() { freopen("in.txt","r",stdin); scanf("%d",&N); for(int i=0;i<N;i++) { for(int j=0;j<N;j++) { scanf("%d",&map[i][j]); if(map[i][j]==2) { x=i; y=j; map[i][j]=0; } if(map[i][j]==3) { x1=i; y1=j; map[i][j]=0; } if(map[i][j]==4) { map[i][j]=0; } if(map[i][j]==6) { map[i][j]=0; } } } num[x][y]=1; num1[x1][y1]=1; dfs(x,y,x1,y1,0); printf("%d",min); }
111
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。