JZYZOJ1140 飞船控制站
p1140
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
//#include<cmath>
using namespace std;
inline int read(){
int bj=;char ch=getchar();
while(ch<''||ch>''){
if(ch=='-')bj=-;
ch=getchar();
}
int ret=;
while(ch>=''&&ch<=''){ret=ret*+ch-'';ch=getchar();}
return ret*bj;
}
int n,m,k,map[][]={},a[]={};
bool vis[]={};
void init(){
n=read();m=read();k=read();
for(int i=;i<=n;i++){
for(int j=;j<=*m;j++){
char ch;
cin>>ch;
map[i][j]=ch-'';
}
}
}
void orbit(int idx){
a[]=;
for(int i=;i<=n;i++)a[++a[]]=map[i][idx];
for(int i=n;i;i--)a[++a[]]=map[i][idx+m];
}
int L(int x,int R) {
int pos=x-R,lim=*n;
pos+=lim;
if(pos%lim==)return lim;
return pos%lim;
}
int R(int x,int R) {
int pos=x+R,lim=*n;
if(pos%lim==)return lim;
return pos%lim;
}
void cover(int x,int r) {
for(int i=;i<=r;i++)vis[L(x,i)]=vis[R(x,i)]=;
}
bool check(int r) {
memset(vis,,sizeof(vis));
int st=(n+)/,ans=;
cover(st,r);
int pos=R(st,r+);
while(pos!=st){
//if(r==2)cout<<pos<<"<----\n";
if(vis[pos]){
pos=R(pos,);
continue;
}
bool fl=;
for(int j=r;j;j--){
if(a[R(pos,j)]==){
fl=;
ans++;
cover(R(pos,j),r);
break;
}
}
if(fl)continue;
if(a[pos]==){
fl=;
ans++;
cover(pos,r);
}
if(fl)continue;
for(int j=;j<=r;j++){
if(a[L(pos,j)]==){
fl=;
ans++;
cover(L(pos,j),r);
break;
}
}
if(fl)continue;
return ;
}
return ans<=k;
}
void Binary_Search(){
int l=,r=*n+,ans=;
while(l<=r){
int mid=(l+r)>>;
if(check(mid)){
ans=mid;
r=mid-;
}
else l=mid+;
}
printf("%d\n",ans);
}
void work(){
for(int i=;i<=m;i++){
orbit(i);
Binary_Search();
}
}
int main(){
init();
work();
return ;
}
JZYZOJ1140 飞船控制站的更多相关文章
- 神舟飞船上的计算机使用什么操作系统,为什么是自研发不是 Linux?
中国航天用的SpaceOS主要内容是仿造美国风河系统公司的VxWorks653(653是产品名,并非版本号). 先解释为什么用这个系统不用Linux: 航天器的内存和CPU都非常弱,弱到什么程度呢:天 ...
- cocos2d 游戏开发:Cocos2d v3 "hello world"+显示飞船
V3 RC4 版本号图片 显示一个飞船 将Chapter1中 SpaceCargoShip.png 文件 加入到项目里面. 代码在 init : CCSprite *spaceCargoShip = ...
- NSOJ 飞船汇合(经典)
一支分散的飞船舰队,需要汇合到主舰,但是这种飞船在太空中飞行的耗油与质量没有关系,只与发动机打开的时间有关系,为了节省油量,指挥官通知,汇合途中,多台飞船可以串成串飞行,这样只需启动一台发动机,由于安 ...
- NASA: SpaceX的猎鹰9号火箭将龙飞船发射到国际空间站
At 5:42 a.m. EDT Friday, June 29, 2018, SpaceX’s Dragon spacecraft lifts off on a Falcon 9 rocket fr ...
- 阿波罗11号登月飞船电脑控制系统源码(AGC)
阿波罗11号登月飞船电脑控制系统源码(AGC) http://download.csdn.net/detail/downiis6/9574926 down url: https://github.co ...
- (转)神舟飞船上的计算机使用什么操作系统,为什么是自研发不是 Linux?
中国航天用的SpaceOS主要内容是仿造美国风河系统公司的VxWorks653(653是产品名,并非版本号).先解释为什么用这个系统不用Linux:航天器的内存和CPU都非常弱,弱到什么程度呢:天宫一 ...
- 太空飞船(spaceship)
太空飞船(spaceship) 题目描述 21XX年,秋. 小诚是THU(Tomorrow Happy University)航天学院船舶设计系本科四年级的学生.为了顺利毕业,小诚仔细阅读了这几年被引 ...
- php7新增的两个操作符---null合并及飞船操作符
<?php //null合并操作符?? //(太空)飞船操作符<=> //The operator returns 0 if both operands are equal, 1 i ...
- python 小游戏 “外星飞船入侵”
Project Title 项目名称 “外星飞船入侵”, git地址:https://github.com/lilinyu861/Alien-Invasion 效果图: 参考: https://blo ...
随机推荐
- 使用 TypeScript 改造构建工具及测试用例
最近的一段时间一直在搞TypeScript,一个巨硬出品.赋予JavaScript语言静态类型和编译的语言. 第一个完全使用TypeScript重构的纯Node.js项目已经上线并稳定运行了. 第二个 ...
- C# FileStream MemoryStream BufferedStream StreamReader StreamWriter
FileStream读取文件 , array.Length);//读取流中数据把它写到字节数组中file.Close();//关闭流string str =Encoding.Default.GetSt ...
- 《区块链100问》第85集:资产代币化之对标美元USDT
USDT是Tether公司推出的对标美元(USD)的代币Tether USD.1USDT=1美元,用户可以随时使用USDT与USD进行1:1兑换.Tether公司执行1:1准备金保证制度,即每个USD ...
- 【矩阵】RQ/QR 分解
Multiple View Geometry in Computer Vision A.4.1.1 (page 579) 将一个 3x3 矩阵 $ A $ 进行 RQ 分解是将其分解成为一个上三角阵 ...
- ActiveMQ监听消息并进行转发,监听不同的mq服务器和不同的队列
工作中刚接触mq消息业务,其实也就是监听一下别的项目发送的消息然后进行对应的转发,但是监听的mq会有多个,而且转发的地址也可能有多个,这里就使用spring集成的方式!记录一下实现方式: 监听多个mq ...
- 【bzoj题解】题解传送门
如题,题解传送门: 1001 1008 1012
- Maven仓库国内镜像站
感谢阿里巴巴,搭建并公开了Maven仓库的国内镜像站.话外:使用Maven的官方仓库真的是太slow了! 在<Maven Root>/conf/settings.xml中的<mirr ...
- 用monit监控系统关键进程
原地址: https://feilong.me/2011/02/monitor-core-processes-with-monit monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件 ...
- drop out为什么能够防止过拟合
来源知乎: dropout 的过程好像很奇怪,为什么说它可以解决过拟合呢?(正则化) 取平均的作用: 先回到正常的模型(没有dropout),我们用相同的训练数据去训练5个不同的神经网络,一般会得到5 ...
- MySQL学习笔记:生成时间维度表
# ---- 对应时间戳怎么生成的? ---- /*TIME_CD TIME_CD1000000 000005000001 000005000002 000005000003 000005000004 ...