题意:

有一个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的更多相关文章

随机推荐

  1. 浏览器g.xxx333xxx.com 跳转2345问题解决方法

    近期升级windows10系统我,我顺手在浏览器输入"windows10"激活keyword,下载了小马激活工具进行了激活.例如以下图. 下载安装后.浏览器每次打开强制跳转到234 ...

  2. candy——动态规划

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  3. HDU2084_数塔【简单题】【数塔】

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. Django-权限信息自定义标签

    自定义权限标签: import re from django.template import Library from django.conf import settings register = L ...

  5. C# Excel批注“哪种开发语言最好”

    Excel批注经常使用于为个别的单元格加入凝视.读者可以从凝视中获取额外的信息. 批注可隐藏,仅仅会在单元格右上方显示红色三角.加入后不会对单元格的内容喧宾夺主.在日常编程处理Excel中,为个别单元 ...

  6. Django 之 form表单

    Django中的Form表单 1.背景 平时我们在书写form表单时,经常都是手动的去写一些input标签,让用户输入一些功能,进行一些校验的判断,等等.Django中的form表单就能够帮我们去实现 ...

  7. hadoop shuffle

    1 hadoop shuffle的地位 hadoop  shuffle是map reduce算法的核心,是它连接了多个map和多个reduce,它将map的输出交给reduce作为输入. 2 hado ...

  8. bash命令中的两个横

    它是一种标记.命令中的连续的两个横表明选项已经结束了,两个横后面的内容就是参数了,不再是选项了.

  9. Mybatis中的大于等于和小于等于

    mybatis中可以直接使用>或<:但是不能直接使用>=或<=; 第一种写法(1): 原符号 < <= > >= & ' " 替换符号 ...

  10. JS中的存储机制

    一.堆和栈的介绍 1.堆和队,是先进先出:栈,是先进后出,就跟水桶差不多: 2.存储速度:堆和队的存储速度较慢,栈的存储速度较快,会自动释放: 二.js中存储的类型 1.堆,一般用于复杂数据类型,存储 ...