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

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

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

    【算法分析】 实际上就是求连通块的个数。 【参考代码】 【时间复杂度】 O(nm)O(nm)O(nm) 【预计得分】 100pts100pts100pts

    userId_undefined

    AC君

    管理员
    倔强青铜
    218阅读
    0回复
    2点赞
  • 题解|BFS

    userId_undefined

    四斋臻瞎投

    倔强青铜
    30阅读
    2回复
    1点赞
  • 题解

    userId_undefined

    ?

    倔强青铜
    44阅读
    0回复
    0点赞
  • 题解

    #include<bits/stdc++.h> using namespace std; int o[1100][1101]; int n,m;int a[4][2]{{0,1},{1,0},{0,-1},{-1,0}}; void fs(int x,int y){ o[x][y]=0; for(int i=0;i<4;i++){ int tx=x+a[i][0]; int ty=y+a[i][1]; if(tx<0||tx>=n||ty<0||ty>=m||o[tx][ty]==0){ continue; } fs(tx,ty); } } int main(){ cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ char d; cin>>d;o[i][j]=d-'0'; } } int u=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(o[i][j]!=0){ fs(i,j); u++; } } } cout<<u; return 0; }

    userId_undefined

    Null

    倔强青铜
    23阅读
    0回复
    0点赞
  • 细胞题解(深搜版)

    userId_undefined

    寒香舞

    倔强青铜
    21阅读
    0回复
    0点赞
  • 题解

    userId_undefined

    千鹤寻影

    秩序白银
    10阅读
    0回复
    1点赞
  • bfs()

    userId_undefined

    JMZ詹总

    倔强青铜
    11阅读
    0回复
    0点赞
  • 题解

    userId_undefined

    ACGO

    倔强青铜
    11阅读
    0回复
    0点赞
  • 细胞

    #include<bits/stdc++.h> using namespace std; int n,m,ans; char a[1001][1001]; void bfs(int x,int y){ if(x>n||x<1||y>m||y<1||a[x][y]=='0'){ return ; } a[x][y]='0'; bfs(x+1,y); bfs(x,y+1); bfs(x-1,y); bfs(x,y-1); } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]!='0'){ ans++; bfs(i,j); } } } cout<<ans; return 0; }

    userId_undefined

    梁轶钦Chris

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