acwing 1098 城堡

简介: acwing 1098 城堡

活动 - AcWing

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
 
using namespace std ;
const int N = 55 ;
int g[N][N][N] ;//0Î÷ǽ£¬1 ±±Ç½ 2 ¶«Ç½ 3 ÄÏǽ 
int d[4][2] = {{0,-1},{-1,0},{0,1},{1,0}} ;
int a[5] = {1,2,4,8} ;
int n , m ;
int v[N][N] ;
int ans , res  ;
struct node{
  int x , y ;
  node(int xx , int yy){
    x = xx ; y = yy ;
  }
};
queue<node> q ;
void bfs(int a , int b){
  q.push(node(a,b)) ;
  int maxn = 0 ;
  while(!q.empty()){
    maxn ++ ;
    res = max(maxn,res) ;
    node now = q.front() ;
    q.pop() ;
    int x = now.x , y = now.y ;
    v[x][y] = 1 ;
    for(int i = 0 ; i < 4 ; i ++){
      if(g[x][y][i]) continue ;
      int tx = x + d[i][0] , ty = y + d[i][1] ;
      if(tx<0||tx>=n||ty<0||ty>=m||v[tx][ty]) continue ;
      v[tx][ty] = 1 ;
      q.push(node(tx,ty)) ;
    }
  }
}
int main(){
  cin >> n >> m ;
  for(int i = 0 ; i <n ; i ++){
    for(int j= 0 ; j < m ; j ++){
      int p ; cin >>  p ;
      int x = 3 ;
      while(p){
        if(p - a[x] >= 0 ){
          p-=a[x] ;
          g[i][j][x] = 1 ;
          x -- ;
        }else {
          x -- ;
        }
      }
    }
  }
  
  for(int i = 0 ; i < n ;i ++){
    for(int j = 0 ; j < m ; j ++){
      if(!v[i][j]){
        ans ++ ;
        bfs(i,j) ;
      }
    }
  }
  cout << ans << endl << res << endl ;
}
目录
相关文章
|
6月前
acwing 恨7不成妻
acwing 恨7不成妻
51 0
|
1月前
acwing 1106 山峰和山谷
acwing 1106 山峰和山谷
10 0
|
1月前
acwing 2060 奶牛选美
acwing 2060 奶牛选美
27 0
AcWing 2060. 奶牛选美(每日一题)
AcWing 2060. 奶牛选美(每日一题)
|
存储 算法 Java
【AcWing每日一题】4818. 奶牛大学
【AcWing每日一题】4818. 奶牛大学
117 0
过河卒-蓝桥杯-动态规划
过河卒-蓝桥杯-动态规划
128 0
AcWing第 96 场周赛
AcWing第 96 场周赛
186 0
|
算法 Java
acwing 第63场周赛【2022.08.06】
acwing 第63场周赛【2022.08.06】
78 0
acwing 第63场周赛【2022.08.06】
|
机器学习/深度学习 编译器
【AcWing周赛】AcWing第85场周赛
目录 &lt;一&gt;Acwing 4791. 死或生 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 &lt;二&gt;Acwing 4792. 最大价值 一、题目 1、原题链接 2、题目描述 二、解题报告: 1、思路分析 2、时间复杂度 3、代码详解 &lt;三&gt;Acwing 4793. 危险程度 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 &lt;四&gt; 知识风暴 1、排序不等式 2、贪心法 3、数据范围 4、并查集 基本操作
83 0
|
机器学习/深度学习 人工智能 安全
【AcWing周赛】AcWing第86场周赛
目录 <一>AcWing 4794. 健身 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 <二>AcWing 4795. 安全区域 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 <三>AcWing 4796. 删除序列 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
81 0