2018.12.14 浪在ACM 集训队第九次测试赛
B Battleship
E Masha and two friends
B 传送门
题意:
战船上有占地n*n的房间cells[][],只由当cells[i][j]=='.'时才能够容纳水手。
已知水手需要k个连续的房间'.',可以是水平方向连续k个'.'或竖直方向的连续k个'.'。
问哪个坐标(x,y)含有最多的连续的k个房间,如果不存在,输出任意坐标。
题解:
我的做法:暴力
求出每个坐标最多含有多少种容纳水手的方式,找到最大的。
具体细节看代码:
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=+; int n,k;
char cells[maxn][maxn]; int Find(int a,int b,int c)
{
int res=;
while(a <= c)
{
if(a+k- >= c && a+k- <= b)
res++;
a++;
}
return res;
}
int update(int curX,int curY)//查找(curX,curY)含有的解
{
int upX=curX,downX=curX;
while(upX- >= && cells[upX-][curY] == '.')
upX--;
while(downX+ <= n && cells[downX+][curY] == '.')
downX++; int leftY=curY,rightY=curY;
while(leftY- >= && cells[curX][leftY-] == '.')
leftY--;
while(rightY+ <= n && cells[curX][rightY+] == '.')
rightY++; int res=Find(upX,downX,curX);
res += Find(leftY,rightY,curY);
return res;
}
void Solve()
{
int res=;
int x=,y=;
for(int i=;i <= n;++i)
for(int j=;j <= n;++j)
{
if(cells[i][j] != '.')
continue;
int curRes=update(i,j);
if(res < curRes)
{
res=curRes;
x=i,y=j;
}
}
printf("%d %d\n",x,y);
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=;i <= n;++i)
scanf("%s",cells[i]+);
Solve(); return ;
}
题目来源:CodeForces - 965B
E 传送门
2018.12.14 浪在ACM 集训队第九次测试赛的更多相关文章
- 2018.12.21 浪在ACM 集训队第十次测试赛
浪在ACM 集训队第十次测试赛 A Diverse Substring B Vasya and Books C Birthday D LCM A 传送门 题解 B 传送门 题解: 这道题,就比较简单 ...
- 2018.10.2浪在ACM 集训队第二次测试赛
2018.10.26 浪在ACM 集训队第二次测试赛 题目一览表 来源 考察知识点 A 1273 海港 NOIP 普及组 2016 差分数组+二分 B 1274 魔法阵 C 1267 金币 ...
- 2018.10.26 浪在ACM 集训队第二次测试赛
2018.10.26 浪在ACM 集训队第二次测试赛 整理人:苗学林 A海港 参考博客:[1]:李继朋https://www.cnblogs.com/violet-acmer/p/9859006.ht ...
- 2018.12.7 浪在ACM 集训队第八次测试赛
2018.12.7 浪在ACM 集训队第八次测试赛 https://blog.csdn.net/QLU_minoz/article/details/84886717 感谢苗学林同学C题和D题题解 ...
- 2018.10.26 浪在ACM 集训队第四次测试赛
2018.10.26 浪在ACM 集训队第四次测试赛 题目一览表 来源 考察知识点 完成时间 A 生活大爆炸版 石头剪刀布 NOIP 提高组 2014 模拟??? 2018.11.9 B 联合 ...
- 2018.10.2浪在ACM 集训队第三次测试赛
2018.10.26 浪在ACM 集训队第三次测试赛 今天是暴力场吗???????可怕 题目一览表 来源 考察知识点 完成时间 A 1275 珠心算测试 NOIP 普及组 2014 暴力??? 201 ...
- 2018.10.19浪在ACM 集训队第一次测试赛
2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...
- 2018.11.23 浪在ACM 集训队第六次测试赛
2018.11.23 浪在ACM 集训队第六次测试赛 整理人:刘文胜 div 2: A: Jam的计数法 参考博客:[1] 万众 B:数列 参考博客: [1] C:摆花 参考博客: [1] D:文化之 ...
- 2018.11.16 浪在ACM 集训队第五次测试赛
2018.11.16 浪在ACM 集训队第五次测试赛 整理人:李继朋 Problem A : 参考博客:[1]朱远迪 Problem B : 参考博客: Problem C : 参考博客:[1]马鸿儒 ...
随机推荐
- 老男孩python学习自修第十一天【内置函数】
1.基本内置函数 help() 帮助文档 dir() 列出当前文件的所有变量和方法 vars() 列出当前文件的所有变量及其值 type() 返回变量的类型 id() 返回变量的内存地址 len() ...
- SSM+shiro,所有配置文件,详细注释版,自用
spring配置文件applicationContext.xml,放在resources下 <?xml version="1.0" encoding="UTF-8& ...
- orecal基本连接数据库简介
整理自互联网 一. jdbc:oracle:thin:@192.168.3.98:1521:orcljdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连 ...
- vim的几个常用操作
现在很少会有人用vim来写代码,所以vim更常用在server上面编辑配置文件或者少量代码编辑: vim操作命令非常之多,如果仅用作一个配置文件的编辑器,掌握几个常用的操作就够了: 常用的操作其实就是 ...
- How to ssh
ssh -p 22 cuthead@127.0.0.1
- 包packages
packages里面如何跨模块导入路径: print(dir()) 可以看到__file__ print(os.path.abspaht(__file__)) 可以看到当前绝对路径 import sy ...
- JarvisOJ BASIC 德军的密码
已知将一个flag以一种加密形式为使用密钥进行加密,使用密钥WELCOMETOCFF加密后密文为 000000000000000000000000000000000000000000000000000 ...
- 【XSY2787】Mythological VII 贪心
题目描述 有两个指针\(l,r\),初始时\(l=r=k\) 给你\(a_1,\ldots,a_n\),你要移动\(l,r\),\(l\)只能每次向左移一个数,\(r\)只能向右移一个数,要求任意时刻 ...
- 【CF633D】Fibonacci-ish
题目描述 小y最近迷上了fibonacci数列,他定义了一种数列叫类fibonacci数列: 1.这个数列包含至少\(2\)个元素 2.\(f_0\)和\(f_1\)是任意选取的 3.\(f_{n+2 ...
- 数字平滑 前端插件JS&CSS库
CDN DEMO 拷贝可用: <!DOCTYPE html> <link rel="stylesheet" href="https://cdn.boot ...