社区讨论

玄学过题

P1454圣诞夜的极光参与者 4已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mi6tcdkt
此快照首次捕获于
2025/11/20 10:29
4 个月前
此快照最后确认于
2025/11/20 10:29
4 个月前
查看原帖
样例过不了,但是却玄学地过了这道题%%%
求大佬看看为什么样例过不了
CPP
#include<iostream>
using namespace std;
int m,n,ans;
bool map[150][150];
char a[150][150];
int mx[12]={-2,2,-1,1,0,0,0,0,1,1,-1,-1},my[12]={0,0,0,0,-1,1,-2,2,1,-1,-1,1};
void dfs(int x,int y)
{
    map[x][y]=1;
    for(int i=0;i<12;i++)
    {
        int xx=x+mx[i],yy=y+my[i];
        if(xx<1||xx>m||yy<1||yy>m) 
		continue;
		
        if(!map[xx][yy]&& a[xx][yy]=='#') dfs(xx,yy);
    }
}
int main()
{
    cin>>m>>n;
    for(int i=1;i<=m;i++)
     for(int j=1;j<=n;j++)
     {
        cin>>a[i][j];    
     }

     for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
        {
            if(a[i][j]=='#'&&!map[i][j])
            {
				 dfs(i,j);
				 ans++;
			} 
        }

    cout<<ans<<endl;

    return 0;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...