hdoj5301
题意:
有一个n*m的大矩阵,
其中有一个1*1的不要的位置(x,y),
然后用若干个小矩阵去覆盖大矩阵,
不要的不能被覆盖。
问小矩阵中面积最大的面积最小是多少。
思路:
巨巨先画一个矩形,看看那个不要的在边上的时候;
再画个矩形,然后用四个矩阵把那个不要的包起来;
然后画个正方形(奇数),然后把不要的放在最中间。
很简单吧~
#include<bits/stdc++.h>
//#include<iostream>
//#include<math.h>
//#include<string.h>
//#include<algorithm>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const int eps=1e-9;
const int pi=acos(-1.0);
const int mod=1e6+7;
const LL INF=0x3f3f3f3f;
int main()
{
int n,m,x,y,nn,mm,ans;
while(~scanf("%d%d%d%d",&n,&m,&x,&y))
{
nn=(n+1)/2;
mm=(m+1)/2;
if(n<=m)
{
if(x==1||x==n)
ans=min(n-1, min(y, m-y+1));
else if(y==1||y==m)
ans=min(m-1, min(x,n-x+1));
else
{
if(nn>=y||nn>m-y)
ans=nn;
else
ans=min(max(x-1,n-x),min(y,m-y+1));
}
ans=max(ans,nn);
}
else{
if(x==1||x==n)
ans=min(n-1,min(y,m-y+1));
else if(y==1||y==m)
ans=min(m-1,min(x,n-x+1));
else
{
if(mm>=x||mm>n-x)
ans=mm;
else
ans=min(max(y-1,m-y),min(x,n-x+1));
}
ans=max(ans,mm);
}
if(n==m&&x==y&&x==nn)
ans--;
printf("%d\n",ans);
}
return 0;
}
hdoj5301的更多相关文章
随机推荐
- poj1870--Bee Breeding(模拟)
题目链接:点击打开链接 题目大意:给出一个蜂窝,也就是有六边形组成,从内向外不断的循环(如图).给出两个数的值u,v按六边形的走法,由中心向六个角走.问由u到v的的最小步数. 首先处理处每个数的坐标, ...
- 模拟 nbut1225 NEW RDSP MODE I
传送门:点击打开链接 题意:输入n.m,x.刚開始有一个1~n的排列.然后定义了一种操作.是将数组中的偶数位数字选出来,依照顺序放到数组最前面,奇数位依照顺序放到偶数位的后面,进行m次这种操作.输出之 ...
- HashMap变成线程安全方法
我们都知道.HashMap是非线程安全的(非同步的).那么怎么才能让HashMap变成线程安全的呢? 我认为主要可以通过以下三种方法来实现: 1.替换成Hashtable,Hashtable通过对整个 ...
- POJ 2378 Tree Cutting 子树统计
题目大意:给出一棵树.将树中的一个节点去掉之后,这棵树会分裂成一些联通块.求去掉哪些点之后.全部联通块的大小不超过全部节点的一半.并按顺序输出. 思路:基础的子树统计问题,仅仅要深搜一遍就能够出解.这 ...
- 高仿webqq做的一个webos桌面效果和web聊天工具,桌面效果完好,功能强大
QQ技术交流群:159995692 /-------- 暂时开放的測试 帐号/password:[88888888/1;666666/1] ---------/ 正如大家所知的E ...
- Hibernate Jar包官方下载
1.新手入门,从官网下载Hibernate,选择 Hibernate ORM 2.选择Releases-Overview 3.上面列出的是最新版本,下面有一个see older series 直接下载 ...
- hadoop-client
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common --> <dependency> ...
- 用Qt编写的计算文件MD5值的Demo
Dialog.ui <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0& ...
- uptime详解,最通俗的说明了cpu平均负载
今天又个网友问uptime的三个平均负载值具体要怎么理解,发现要自己解释还真不知道怎么表达~~~~,下面到网上找了篇文章给大家分享: uptime命令,有两大用处,一个是看您的机器的运行时间,另一 ...
- SET IDENTITY_INSERT 和 DBCC CHECKIDENT
SET IDENTITY_INSERT (Transact-SQL) Allows explicit values to be inserted into the identity column of ...