c++dfs10分求改

P1454 圣诞夜的极光

@[yinbe](/user/759152) ~~有没有一种可能~~ 可以向四个方向走2格
by zqh123b @ 2023-11-01 21:37:30


@[zqh123b](/user/587615) ```cpp if(s[x+1][y]||s[x-1][y]||s[x][y+1]||s[x][y-1]|| s[x+1][y+1]||s[x+1][y-1]||s[x-1][y+1]||s[x-1][y-1] ||s[x+2][y]||s[x-2][y]||s[x][y+2]||s[x][y-2]) ``` 这里我判了12个方向
by yinbe @ 2023-11-01 21:38:37


但search呢?
by zqh123b @ 2023-11-01 21:40:35


@[zqh123b](/user/587615) 改完了,还是10分 ```cpp #include<iostream> using namespace std; char c; bool flag[250][250]={0},s[250][250]={0}; int m,n,cnt; void search(int x,int y) { if(flag[x][y]) { // cout<<"1"; return; } if(x>m||y>n||x<=0||y<=0) { // cout<<"2"; return; } if(s[x+1][y]||s[x-1][y]||s[x][y+1]||s[x][y-1]|| s[x+1][y+1]||s[x+1][y-1]||s[x-1][y+1]||s[x-1][y-1] ||s[x+2][y]||s[x-2][y]||s[x][y+2]||s[x][y-2]) { // cout<<"4"; flag[x][y]=true; search(x+1,y); search(x,y+1); search(x,y-1); search(x-1,y); search(x+1,y+1); search(x-1,y+1); search(x+1,y-1); search(x-1,y-1); search(x-2,y); search(x+2,y-1); search(x,y-2); search(x,y+2); return; } // cout<<"5"; cnt++; flag[x][y]=true; search(x+1,y); search(x,y+1); search(x,y-1); search(x-1,y); search(x+1,y+1); search(x-1,y+1); search(x+1,y-1); search(x-1,y-1); search(x-2,y); search(x+2,y-1); search(x,y-2); search(x,y+2); return; } int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>c; if(c=='#') { s[i][j]=true; } } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(s[i][j]) { search(i,j); } } } printf("%d",cnt); return 0; } ```
by yinbe @ 2023-11-01 21:45:28


@[_2147483647](/user/1126487) 大佬,来帮帮我
by yinbe @ 2023-11-01 21:54:25


} // cout<<"5"; cnt++; flag[x][y]=true; search(x+1,y); search(x,y+1); search(x,y-1); search(x-1,y); search(x+1,y+1); search(x-1,y+1); search(x+1,y-1); search(x-1,y-1); search(x-2,y); search(x+2,y-1); search(x,y-2); search(x,y+2); return; } int main()
by steven609 @ 2023-11-01 21:55:14


@[steven609](/user/1159871) 请使用代码块
by zqh123b @ 2023-11-02 20:41:32


|