传送门

题意:

给你一个矩阵,矩阵中的每一个数的二进制串可以表示出该位置周围的围墙信息,让你求出所有的房间大小。

思路:

建图,搜索,一气呵成。

#include<iostream>
#include<string>
#include<map>
#include<bits/stdc++.h>
#include<iomanip>
#include<algorithm>
#define ll long long
using namespace std;
int g[4050][4050];
int bit[10];
void get_bit(int a)
{int cnt = 0;while(a){bit[++cnt] = a%2;a = a>>1; }
}
int h[4] = {2,0,-2,0},l[4] = {0,2,0,-2};
int n,m;
int ans[1000010];
int maxx = 0;
int exchange(int x)
{if(!x)return x;int t = x/abs(x);return t;
}
void dfs(int i, int j)
{for(int k = 0; k < 4; k++){if(!g[i+h[k]][j+l[k]] && !g[i+exchange(h[k])][j+exchange(l[k])] && i+h[k] <= (n-1)*2+4 && i+h[k] >= 4 && j+l[k] <= (m-1)*2+4 && j+l[k] >= 4){maxx++;g[i+h[k]][j+l[k]] = 1;dfs(i+h[k], j+l[k]);}}
}
int main()
{cin>>n>>m;for(int i = 4; i <= (n-1)*2+4; i+=2){for(int j = 4; j <= (m-1)*2+4; j+=2){int a;cin>>a;get_bit(a);for(int k = 4; k >= 1; k--){if(k == 4 && bit[k])g[i-1][j] = 1;else if(k == 3 && bit[k])g[i][j+1] = 1;else if(k == 2 && bit[k])g[i+1][j] = 1;else if(k == 1 && bit[k])g[i][j-1] = 1;}memset(bit,0,sizeof(bit));}}int num = 0;for(int i = 4; i <= (n-1)*2+4; i+=2){for(int j = 4; j <= (m-1)*2+4; j+=2){maxx = 1;if(!g[i][j]){g[i][j] = 1;dfs(i,j);ans[++num] = maxx;}}}sort(ans+1,ans+1+num);for(int i = num; i >= 1; i--)cout<<ans[i]<<" ";
}

Bubble Cup 14 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred, Div. 2) J. Robot Factory相关推荐

  1. Bubble Cup 14 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred, Div. 2) J. Robot Factor

    翻译: 你已经收到了Bubble机器人的数据.你知道你的任务是制造工厂设施,但在你开始之前,你需要知道工厂有多大,有多少房间.当你查看数据时,你会发现你有这个结构的尺寸,它是矩形的:N x M. 然后 ...

  2. Bubble Cup 14 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred, Div. 2) E. Array Game

    Array Game Link 题目大意: A l i c e Alice Alice 与 B o b Bob Bob ,从一个长度为 n n n 的数组中轮流从数组首部或尾部取数, A l i c ...

  3. COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred) H. Hot Black Hot Whit

    翻译: 有一天,你会成为查内克医生的助理.查内克医生给你的第一个任务就是保管好他的魔法宝石. 查内克博士有

  4. COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred) A、B、G、H、M(数学、构造、图论)

    A. Accumulation of Dominoes 签到,数砖块 #include<bits/stdc++.h> #define int long long using namespa ...

  5. Bubble Cup 12 - Finals [Online Mirror, unrated, Div. 1] F. Workout plan(优先队列)

    有一个人要锻炼 n 天,初始时战斗力为 k,每天都要达到 x[i] 才可以,每天都有一款饮料价格为 c[i],每一款饮料都可以让他的战斗力增加 A,问最少要花都少钱才能完成每天的计划,如果有一天不能输 ...

  6. 2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred)

    2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred) ...

  7. Codeforces Bubble Cup 8 - Finals [Online Mirror] B. Bribes lca

    B. Bribes Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/B De ...

  8. Bubble Cup X - Finals [Online Mirror] G. Bathroom terminal(STL)

    Description Smith wakes up at the side of a dirty, disused bathroom, his ankle chained to pipes. Nex ...

  9. 2020-2021 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred)

    D. Digits 题意 给定一个长度为n的数组a和一个k,求数组中最大的元素乘积的尾数为k (每个元素只能用一次),输出方案数 1<= ai <= 10001 <= n <= ...

最新文章

  1. 在C#中使用SqlDbType.Xml类型参数
  2. 全球及中国汽车空调冷凝器行业发展前景规模及投资战略决策报告2022-2027年
  3. Android SDK在线更新镜像服务器
  4. 迭代反投影法代码_程序员的数学笔记3--迭代法
  5. 解决IE为7939.com的病毒~
  6. 信息学奥赛一本通 1038:苹果和虫子 | OpenJudge NOI 1.3 15 | OpenJudge NOI 1.4 21
  7. python小波分解与重构_python - 使用pyWavelets进行多级局部小波重构 - 堆栈内存溢出...
  8. HTML-参考手册: 键盘快捷键
  9. 如何检索文献系列:检索文献窥秘
  10. 编程语言EF速度测试(4):nsieve-bits
  11. Redis(二)Redis客户端的使用
  12. 华为网络配置(路由配置)
  13. linux脚本pend什么意思,LSF Basis
  14. Nokia Symbian PKG sis文件就会及时更新了
  15. C++开发短信验证码通知短信
  16. 网页看视频,加速敢看的技巧
  17. Fiddler 抓包夜神模拟器图文详解
  18. C语言编程 体型预测
  19. 腾讯云TVP大佬十年心血MySQL工作笔记,看完还不懂MySQL来打我!
  20. chrono是一个time library,C++11 std::chrono库详解

热门文章

  1. dart中list的map方法获取index
  2. 涨薪秘籍之源码篇:Spring全家桶源码解读,大师晋级笔记
  3. java空格转义_java转义字符 - simpower的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. OpenFlow交换机概述
  5. koala scss/less 软件报错
  6. 让koala 编译scss支持中文注释
  7. Linux 开机启动服务 命令
  8. c语言获取当前系统日期时间,C语言获取系统当前时间
  9. Centos7-SELINUX setenforce 0命令导致无法访问vsftpd
  10. nginx的yum安装和编译安装