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 ...
随机推荐
- 正在载入中......loading页面的几种方法
网页加载过程中提示“载入中…”,特别是使用动画效果,可以一个“等待”的温馨提示,用户体验很不错.下面介绍几种方法. 第一种: 原理就是,在网页载入时在页面最中间打入一个层上面显示,"网页正在 ...
- mysql处理旧数据-使用模板以及临时表,不建议直接使用本表!!
一 业务背景新版本中新建了一个项目的角色表,即每个项目都拥有几个角色,原来历史项目是没有角色的,这就要求使用脚本对表中的历史项目进行处理, 业务需求:每个项目都要有三个角色: 表 : pm_proje ...
- Once you eliminate all the other factors,the only thing remaining must be the truth.
Once you eliminate all the other factors,the only thing remaining must be the truth. 一旦你排除了杂因,剩下的一定是 ...
- 云计算IaaS浅谈
(本篇文章仅仅是整理文档资料时,发现的一篇课程报告,感觉还挺有参考意义的) 最近几年云计算一直是IT业的热点,一股炽热的云计算浪潮席卷了世界,全世界都在讲云计算,都在搞云计算.虽然最初是由谷歌公司提出 ...
- sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结)
由于业务逻辑的多样性,经常得在sql server中查询不同数据库中数据,这就产生了分布式查询的需求 现我将开发中遇到的几种查询总结如下: 1.access版本 --建立连接服务器 EXEC sp_a ...
- Oracle学习笔记:parallel并行处理
在使用oracel查询时,可以通过并行提高查询速度.例如: ) from table_name a; 强行启用并行度来执行当前SQL.加上这个说明之后,可以强行启用Oracle的多线程处理功能,提高效 ...
- Spring MVC之JSON数据交互和RESTful的支持
1.JSON概述 1.1 什么是JSON JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式.它是基于JavaScript的一个子集,使用了C.C ...
- Ansible之迭代、模板
本节内容: 迭代 模板(JInjia2相关) Jinja2相关 一.迭代 当有需要重复性执行的任务时,可以使用迭代机制.其使用格式为将需要迭代的内容定义为item变量引用,并通过with_items语 ...
- CCF CSP 201312-4 有趣的数
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-4 有趣的数 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0 ...
- ASP.NET Web API 2:创建API帮助页面
当你新建了一个web API服务之后,再建一个API帮助页面是很有好处的,这样其他开发人员就会很清楚地知道如何调用你的API接口.你可以选择自己手工建立,但是如果能自动生成岂不是更好.为了简 ...