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 ...
随机推荐
- 查看Oracle数据库中的所有用户名
select username from dba_users"
- 配置replica set的常见问题
总有人问起配置ReplicaSet不成功,总结了一下基本上的可能性就几种,检查步骤如下: 假设三台机器的IP分别是 A: 192.168.1.2 a.test.com B:192.168.1.3 b. ...
- C# WebClient、 jsonp实现跨域
WebClient 无传输数据获取 Uri uri = new Uri(allURL); WebClient wc = new WebClient(); wc.Encoding = System.Te ...
- Ubuntu下 git 服务器的搭建【转】
转自:http://www.open-open.com/lib/view/open1391477731082.html 搭建git服务器的4个步骤 1 配置服务器前的准备工作 首先ubuntu系统 ...
- linux sigaction 函数 用法释义
使用 sigaction 函数: signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受 到了一定的限制.而 POSIX 标准定义的信号处 ...
- C#之WinForm基础 新建一个不可编辑的comboBox
慈心积善融学习,技术愿为有情学.善心速造多好事,前人栽树后乘凉.我今于此写经验,愿见文者得启发. 1.拉控件 2.添加可选数据 3.改变基本样式 4.效果图 C#优秀,值得学习.Winform,WPF ...
- 【前端vue开发】vue项目使用sass less扩展语言所要安装的依赖
1.创建一个基于 webpack 模板的新项目 $ vue init webpack myvue 2.在当前目录下,安装依赖 $ cd myvue $ npm install 3.安装sass的依赖包 ...
- MyBatis的动态插入语句(经常报‘无效的列类型’)
最近在工作中经常遇到一个情况:通过mybatis的标签执行插入语句,当表中字段比较多的时候,需要全部插入,而有时候的需求是只插入其中几个字段,但是会报错. 原来的语句,必须把所有字段都Set值. &l ...
- JS实现点击图片,在浏览器中查看。
工作中遇到要实现点击图片查看的功能,从网上找了一段js代码,可以用. <img src="/pic/${pictureCertificate}" alt="凭证&q ...
- CentOS7.5安装MongoDB4.0与CRUD基本操作
一 MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数 ...