CF 472B Mystical Mosaic
刚开始的时候考虑过各种暴力,不过似乎都太复杂了以至于写着写着就出错了或者写不下去了。这题其实有非常简便的做法。对于矩阵中的每一列,如果在该列的某一行处是”#”,那么在选中该列的同时该行也是一定要同时选中的。那么,对于任意的两列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相关推荐
- Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
961A - Tetris 模拟 ...
- 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!
前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...
- R语言可视化:散点图、散点图和折线图(line charts)、3D散点图、旋转3D散点图、气泡图、corrgram包可视化相关性矩阵、马赛克图( Mosaic plots)、hexbin、密度图
R语言可视化:散点图.散点图和折线图(line charts).3D散点图.旋转3D散点图.气泡图.corrgram包可视化相关性矩阵.马赛克图( Mosaic plots).hexbin.密度图 目 ...
- R语言ggplot2可视化绘制Marimekko/Mosaic图实战:自定义函数绘制Marimekko/Mosaic图(添加数值、标题、色彩配置)、ggmosaic包绘制Marimekko图
R语言ggplot2可视化绘制Marimekko/Mosaic图实战:自定义函数绘制Marimekko/Mosaic图(添加数值.标题.色彩配置).ggmosaic包绘制Marimekko图 目录
- OC对象 vs CF对象
2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...
- CF 990A. Commentary Boxes【数学/模拟】
[链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...
- 推荐算法——基于协同过滤CF
https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...
- 索引贴——移动开发(.Net CF 停止更新)
这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...
- 解答:CF截图保存在哪
为什么80%的码农都做不了架构师?>>> 大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...
最新文章
- 砂.随笔.三十四.用时间在等待
- 负载均衡服务器nginx详细安装教程及网络部署
- 关于2016年房价的思考
- 不同品牌发电机组间的并机知识
- 豆果美食,把人们带回厨房
- 第四百一十七天 how can I 坚持
- 排序算法Java实现(基数排序)
- STM32之RTT调试
- IOS时间和秒的转换
- 109.虚函数与析构构造
- VS2017+海康威视工业相机调用查找不到设备的问题
- 利用U盘引导进入pe系统修复操作系统
- 深入理解Character Region Awareness for Text Detection (CRAFT)
- 蓝桥杯0027 通信密码
- Xcom传送文件实例
- 水箱建模最小二乘法_高位消防水箱考点汇总及历年真题!
- 【IPC】关于码流类型的理解
- regedit参数+批处理修改IE标题
- 【Serverless】云函数微信小程序
- 【2020.12】Aspose.words 20.12最新版Crack,word转pdf去水印方法
热门文章
- STM32Cube-直接存储器访问(DMA)
- AE已支持M1芯片mac安装(After Effects 20直装版M1安装方法)M1芯片处理器安装AE问题教程
- 机器学习算法的效果评估和优化方法
- The implementation and analysis of first-order vibration damping based on Matlab
- ArcEngine开发--网络分析
- wordpress 调用php,wordpress调用phpwind或discuz论坛指定版块帖子
- 正泰双十一“9连冠”,3LD开关新品喜提天猫插座类目销售TOP1!
- Google Apps Script 的使用
- vue v-for动态循环select,并取其中的值,和值的分类
- 2023:软件测试的是不是没前景了?自学软件测试要学哪些内容?