acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 题解

    userId_undefined

    法兰西玫瑰

    倔强青铜
    104阅读
    10回复
    10点赞
  • Gold King勇闯八卦图·题解

    思路: 深搜,问是否能正好在第 ccc 步从出发点到终点。 代码:

    userId_undefined

    CK七星松|再发团队邀请建议趋势

    倔强青铜
    42阅读
    1回复
    0点赞
  • 【正经题解】Gold King勇闯八卦图

    userId_undefined

    AC君

    管理员
    倔强青铜
    15阅读
    0回复
    0点赞
  • 题解标准优化

    #include<bits/stdc++.h> using namespace std; int t,n,m,c,fx,fy,sx,sy,zx[4][2]={{0,1},{1,0},{-1,0},{0,-1}}; bool flag,vis[10][10]; char cc,map_[10][10]; void dfs(int xx,int yy,int cnt){ if(xxsx&&yysy&&cnt==c){flag=1;} if(cnt+abs(xx-sx)+abs(yy-sy)>c){return ;} for(int i=0;i<4;i++){ int xxx=xx+zx[i][0],yyy=yy+zx[i][1]; if(vis[xxx][yyy]==0&&map_[xxx][yyy]!='X'&& xxx>=0&&xxx<n && yyy>=0&&yyy<m){ vis[xxx][yyy]=1; dfs(xxx,yyy,cnt+1); vis[xxx][yyy]=0; } } } int main(){ scanf("%d",&t);; while(t--){ scanf("%d %d %d",&n,&m,&c); for(int i=0;i<n;i++) for(int j=0;j<m;j++){ cin>>map_[i][j]; if(map_[i][j]'S'){fx=i;fy=j;} if(map_[i][j]'T'){sx=i;sy=j;} } if((abs(sx-fx)+abs(sy-fy))%2!=c%2){cout<<"NO\n";continue;} memset(vis,0,sizeof vis); flag=0; dfs(fx,fy,0); if(flag) cout<<"YES"<<endl; else cout<<"NO"<<endl; } }

    userId_undefined

    Xylophone

    荣耀黄金
    1阅读
    0回复
    0点赞
首页