求帮忙debug一下k题

#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
//#define int long long
const int N=505;
vector<string> a(N);
int vis[N][N];
int n,m;
int dfs(int i,int j)
{
    vis[i][j]=1;
    int k=0;
    vector<pair<int,int>> q={{i+1,j},{i-1,j},{i,j+1},{i,j-1}};
    for(auto it:q)
    {
        if(it.first>0&&it.second>0&&it.first<=n&&it.second<=m)
        {
            if(!vis[it.first][it.second]&&a[it.first][it.second]=='1')
                k+=dfs(it.first,it.second);
            if(a[it.first][it.second]=='0'&&!vis[it.first][it.second])
                k++,vis[it.first][it.second]=1;
        }
    }
    return k;
}
void solve()
{
    memset(vis,0,sizeof(vis));
    int ans=0x3f3f3f3f;
    string l;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>l;
        a[i]='#'+l;
    }
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            if(a[i][j]=='1'&&!vis[i][j])
                ans=min(ans,(dfs(i,j)));
    cout<<ans;
}
signed main() {
    IOS;
    int t=1;
    //cin>>t;
    while(t--)
    {
        solve();
    }
}
全部评论
6 6 000000 000000 001100 001100 000010 000000 你输出了2 但答案是4
点赞 回复 分享
发布于 01-23 21:01 浙江

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
07-14 13:47
门头沟学院 Java
Lynn012:你评估好自己的位置了吗《顶尖应届》
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务