刚开始的时候考虑过各种暴力,不过似乎都太复杂了以至于写着写着就出错了或者写不下去了。这题其实有非常简便的做法。对于矩阵中的每一列,如果在该列的某一行处是”#”,那么在选中该列的同时该行也是一定要同时选中的。那么,对于任意的两列i,j,如果他们需要选中的行一样,OK,没问题,这两列可以在同一次选择中被选中。但是,如果i,j需要选择的行不一样,那么他们肯定就不能在同一次中选择了,否则的话这两列肯定会多出来额外的“#”。那么,对于任意两列不是同一次选中的列,他们之间如果需要选中的行又有重复的话,那么肯定就不行了,因为每行只能被选中一次。最后,为了快速表示每一列的状态,我们可以用一个二进制数来表示。

#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
#include<cstring>
#include<queue>
#include<set>
#include<vector>
using namespace std;
typedef long long ll;
ll hang[60];
int main()
{string mp[60];int n,m,i,j,k;cin>>n>>m;set<ll>s;for(i=1;i<=n;i++)cin>>mp[i];for(i=0;i<m;i++){for(j=1;j<=n;j++){if(mp[j][i]=='#')hang[i]|=(1ll<<j);//代表每一列需要的行的状态}s.insert(hang[i]);//去重}vector<ll>pos;for(auto j=s.begin();j!=s.end();j++){pos.push_back(*j);}for(i=0;i<pos.size()-1;i++){for(j=i+1;j<pos.size();j++){if(pos[i]&pos[j]){cout<<"NO"<<endl;return 0;}}}cout<<"YES"<<endl;return 0;
}

由于本题数据范围非常小,所以不查重暴力枚举也能过:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m;
ll a[60];
char s[60];
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;++i){scanf("%s",s+1);for(int j=1;j<=m;++j)a[i]=(a[i]<<1|(s[j]=='#'));}for(int i=1;i<=n;++i)for(int j=1+i;j<=n;++j)if((a[i]!=a[j])&&(a[i]&a[j])){puts("No");return 0;}puts("Yes");
}

CF 472B Mystical Mosaic相关推荐

  1. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

    961A - Tetris                                                模拟                                      ...

  2. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  3. R语言可视化:散点图、散点图和折线图(line charts)、3D散点图、旋转3D散点图、气泡图、corrgram包可视化相关性矩阵、马赛克图( Mosaic plots)、hexbin、密度图

    R语言可视化:散点图.散点图和折线图(line charts).3D散点图.旋转3D散点图.气泡图.corrgram包可视化相关性矩阵.马赛克图( Mosaic plots).hexbin.密度图 目 ...

  4. R语言ggplot2可视化绘制Marimekko/Mosaic图实战:自定义函数绘制Marimekko/Mosaic图(添加数值、标题、色彩配置)、ggmosaic包绘制Marimekko图

    R语言ggplot2可视化绘制Marimekko/Mosaic图实战:自定义函数绘制Marimekko/Mosaic图(添加数值.标题.色彩配置).ggmosaic包绘制Marimekko图 目录

  5. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  6. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  7. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  8. 索引贴——移动开发(.Net CF 停止更新)

    这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...

  9. 解答:CF截图保存在哪

    为什么80%的码农都做不了架构师?>>>    大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...

最新文章

  1. 砂.随笔.三十四.用时间在等待
  2. 负载均衡服务器nginx详细安装教程及网络部署
  3. 关于2016年房价的思考
  4. 不同品牌发电机组间的并机知识
  5. 豆果美食,把人们带回厨房
  6. 第四百一十七天 how can I 坚持
  7. 排序算法Java实现(基数排序)
  8. STM32之RTT调试
  9. IOS时间和秒的转换
  10. 109.虚函数与析构构造
  11. VS2017+海康威视工业相机调用查找不到设备的问题
  12. 利用U盘引导进入pe系统修复操作系统
  13. 深入理解Character Region Awareness for Text Detection (CRAFT)
  14. 蓝桥杯0027 通信密码
  15. Xcom传送文件实例
  16. 水箱建模最小二乘法_高位消防水箱考点汇总及历年真题!
  17. 【IPC】关于码流类型的理解
  18. regedit参数+批处理修改IE标题
  19. 【Serverless】云函数微信小程序
  20. 【2020.12】Aspose.words 20.12最新版Crack,word转pdf去水印方法

热门文章

  1. STM32Cube-直接存储器访问(DMA)
  2. AE已支持M1芯片mac安装(After Effects 20直装版M1安装方法)M1芯片处理器安装AE问题教程
  3. 机器学习算法的效果评估和优化方法
  4. The implementation and analysis of first-order vibration damping based on Matlab
  5. ArcEngine开发--网络分析
  6. wordpress 调用php,wordpress调用phpwind或discuz论坛指定版块帖子
  7. 正泰双十一“9连冠”,3LD开关新品喜提天猫插座类目销售TOP1!
  8. Google Apps Script 的使用
  9. vue v-for动态循环select,并取其中的值,和值的分类
  10. 2023:软件测试的是不是没前景了?自学软件测试要学哪些内容?