Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
1138 yy037 鸣人与佐助 C++ 解答错误 0 MS 380 KB 1036 2022-05-28 11:50:26

Tests(13/20):


#include <bits/stdc++.h> using namespace std; char a[201][201]; int minn=2e9; bool jl[201][201],f; int ckl[201][201]; int csc[201][201]; int xx[4]={1,-1,0,0},yy[4]={0,0,-1,1}; int n,m,sx,sy; void dfs(int x,int y,int t,int cs){ if(x<0||y<0||x>=m||y>=n) return ; else if(a[x][y]=='+'){ if(!f){ minn=cs; f=true; } else if(minn>cs){ minn=cs; f=true; } return ; } if(jl[x][y]){ if(csc[x][y]==cs){ if(ckl[x][y]<t) ckl[x][y]=t; else return ; }else if(csc[x][y]>cs) csc[x][y]=cs; else return ; }else jl[x][y]=true; csc[x][y]=cs; ckl[x][y]=t; if(a[x][y]=='#'){ if(t==0){ return ; }else{ t--; } } dfs(x+1,y,t,cs+1); dfs(x-1,y,t,cs+1); dfs(x,y+1,t,cs+1); dfs(x,y-1,t,cs+1); } int main(){ int t; cin>>m>>n>>t; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cin>>a[i][j]; if(a[i][j]=='@'){ sx=i;sy=j; } } } dfs(sx,sy,t,0); if(!f){ minn=-1; } cout<<int(minn); return 0; } /* 3 4 1 ### #@# ### #+# */


测评信息: