cf 156 div.2 D. Mr. Bender and Square

这题就是先算总面积,再减去超出面积,再加上重叠面积。关键要注意细节。

 

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#define INF 1E9
using namespace std;
int main()
{
    long long n,x,y,c;
    cin>>n>>y>>x>>c;
    long long now=0;
    long long i,xr,xl,yu,yd,d;
    x--;y--;
    for(i=1;now<c;i++)
    {
        now=i*i+(i-1)*(i-1);
        if(now<c)continue;
        i--;
        xr=x+i;
        xl=x-i;
        yu=y-i;
        yd=y+i;
        if(xl<0)now-=xl*xl;
        if(xr>n-1)now-=(xr-n+1)*(xr-n+1);
        if(yu<0)
        {
            now-=yu*yu;
            yu++;
            d=-yu;
            if(x+d>n-1)now+=(x+d-n+2)*(x+d-n+1)/2;
            if(x+yu<0)now+=(x-d)*(x-d-1)/2;
        }
        if(yd>n-1)
        {
            now-=(yd-n+1)*(yd-n+1);
            d=yd-n+1;
            d--;
            if(x+d>n-1)now+=(x+d-n+2)*(x+d-n+1)/2;
            if(x-d<0)now+=(x-d)*(x-d-1)/2;
        }
        i++;
    }
    cout<<i-2<<endl;
}

 

时间: 2024-12-31 02:36:37

cf 156 div.2 D. Mr. Bender and Square的相关文章

cf 156.div2 C Almost Arithmetical Progression

     貌似是两周前的比赛,一直忙考试没写.      C题就是找个最长的交替序列,直接模拟可以过,比赛的时候以为会超时就没写,刚写了下居然过了      也可以用dp,dp[i][j]=dp[j][last]+1,last为最后一个和i相等的数下标,就是i和last是两个相同的数,中间加一个j为任意数   模拟代码: /* author:jxy lang:C/C++ university:China,Xidian University **If you need to reprint,ple

div css 实现文字居中,无需js控制

<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="cache-control" content="no-cache" /> <style> <!-- html, bo

Jquery实例教程:幻灯片图片的特效代码

文章简介:JQ弄一个简单的banner. 好了,几天没有写博客了,今天就来用JQ弄一个简单的banner. 先看下效果图: 好了,最终效果就是上图所示: 列一下所带的功能: ①自动运行 ②鼠标放在小图上会自动滚到对应的大图上(这个是废话) ③鼠标离开后保存当前的顺序继续执行(但愿你能理解这个的意思) 如果你想看效果:请狠狠的撞击这里 好了,进入正题: 先看下HTML:   接下来上CSS(PS:这个CSS写的有点草率,见谅~):   接下来就是关键了jQuery代码: 最后附上完整的代码: vi

Hive-0.12.0的Web接口HWI安装、配置、改造及使用

使用Hive的HWI接口,可以通过在Web页面上提交HQL查询操作,并浏览查询结果数据.默认情况下,HWI只支持浏览结果数据,不能够下载查询结果文件(当然,HWI可能也是考虑通过Web下载大量的结果数据,对服务器造成压力,或者处于安全方面的考虑).我们对HWI进行了简单的改造,改造内容主要是增加了一个内置的文件服务器,可以通过页面进行查询,然后下载结果文件. HWI安装配置 首先,要保证Hadoop集群正常运行,Hive能够正常使用. 先要安装Ant,如下所示: 1 wget http://mi

PHP 用QueryList抓取网页内容

原文:PHP 用QueryList抓取网页内容 之前抓取网页数据都是用Java Jsoup,前几天听说用PHP抓更方便,今天就研究了一下,主要是用QueryList来实现. QueryList是一个基于phpQuery的通用列表采集类,是一个简单. 灵活.强大的采集工具,采集任何复杂的页面 基本上就一句话就能搞定了.   直接拿博客园举例子了,http://www.cnblogs.com/ 我们用QueryList来抓取红框里面的内容     查看网页源代码找到红框的位置 1 <div id=&qu

codeforce #163 div2

//cf #163 div 2 A // http://codeforces.com/contest/266/problem/A #include<stdio.h> #include<iostream> using namespace std; char a[55]; int main(){ int n,i; //freopen("input.txt","r",stdin); while(scanf("%d%*c",&am

DIV CSS布局网页实例:简单表单form标准化实例

css|标准|网页 form无论是在网站的制作中,还是在网站的重构中,我们都会频繁地"碰面",当"碰面"的次数多了,反而觉得他更让人迷茫,有种熟悉的"陌生",越来越把握不了他. 下面我们将带大家走进form的世界,一起来熟悉.探讨.掌握他的"脾性". 对于简单form的设计图(如图一,yahoo注册页面的一部分),我们如何来做整体的布局呢?大体我们可以选用以下3种方式来做布局: 1.使用table来布局 这是大家最常用的方法,

JavaScript实现DIV层拖动及动态增加新层的方法

  本文实例讲述了JavaScript实现DIV层拖动及动态增加新层的方法.分享给大家供大家参考.具体分析如下: 无刷新添加一个新的DIV层,并可实现的该层的拖动,鼠标拖动层可移动位置,将JS部分另存为一个新文件,用到的时候从外部引入,这个拖动层代码很流行,GG和YAHOO等大网站经常可以看到这种效果. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

jQuery实现div浮动层跟随页面滚动效果

 这篇文章主要介绍了jQuery实现div浮动层跟随页面滚动效果,需要的朋友可以参考下  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml"