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

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 【搜索】【广度优先】瓷砖

    #include<bits/stdc++.h> using namespace std; int n,m,sx,sy,sum; char c[100][100]; int dis[4][2]={1,0,-1,0,0,1,0,-1}; int vis[100][100]; struct node{ int x,y; }; queue<node> Q; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>c[i][j]; if(c[i][j]=='@'){ sx=i; sy=j; } } } Q.push({sx,sy}); while(!Q.empty()){ node u=Q.front(); Q.pop(); int ux=u.x,uy=u.y; for(int i=0;i<4;i++){ int dx=ux+dis[i][0]; int dy=uy+dis[i][1]; if(dx<1||dy<1||dx>n||dy>m||vis[dx][dy]1||c[dx][dy]'#'){ continue; } Q.push({dx,dy}); vis[dx][dy]=1; sum++; } } cout<<sum; return 0; }

    userId_undefined

    梁轶钦Chris

    倔强青铜
    11阅读
    0回复
    0点赞
首页