acwing 1113 红与黑

简介: acwing 1113 红与黑

1113. 红与黑 - AcWing题库

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
const int N = 25 ;
int d[4][2] = {{1,0},{-1,0},{0,1},{0,-1}} ;
char g[N][N] ;
int n , m ;
int ans ;
int sx , sy ;
bool vis[N][N] ;
void dfs(int u , int v){
  for(int i = 0 ; i < 4 ; i ++){
    int x = u + d[i][0] , y = v + d[i][1] ;
    if(x < 0 || x >= n || y < 0 || y >= m || vis[x][y] ||g[x][y] == '#' ) continue ;
    vis[x][y] = 1 ;
    if(g[x][y] == '.') ans ++ ;
    dfs(x,y) ;
  }
}
int main(){
  while(cin >> m >> n , n ){
    for(int i = 0 ; i < n ; i ++) cin >> g[i] ;
    for(int i = 0 ; i < n ; i ++){
      for(int j = 0 ; j < m ; j ++){
        if(g[i][j] == '@') sx = i , sy = j ;
      }
    }
    ans = 1 ;
    memset(vis,0,sizeof(vis)) ;
    dfs(sx,sy) ;
    cout << ans << endl ;
  }   
}
目录
相关文章
AcWing 1265. 数星星(每日一题)
AcWing 1265. 数星星(每日一题)
|
9天前
acwing 1106 山峰和山谷
acwing 1106 山峰和山谷
8 0
|
11天前
acwing 2060 奶牛选美
acwing 2060 奶牛选美
21 0
AcWing 2060. 奶牛选美(每日一题)
AcWing 2060. 奶牛选美(每日一题)
AcWing 562. 壁画(每日一题)
AcWing 562. 壁画(每日一题)
|
3月前
【洛谷】P2004 领地选择
洛谷 P2004 领地选择
39 2
【洛谷】P2004 领地选择
《蓝桥杯每日一题》递推·AcWing 3777. 砖块
《蓝桥杯每日一题》递推·AcWing 3777. 砖块
77 0
|
机器学习/深度学习
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
70 0
洛谷1102 A-B 暴力法
判断第 i 个数和 i 之后的每一个数的绝对值是否等于目标结果
|
存储
AcWing第98和99周赛
AcWing第98和99周赛
99 0