啊啊啊!快离我的家远一点

时间: 1ms        内存:256M

描述:

欣队最近沉迷于游戏”我的世界”,”我的世界”中的建筑、地形都是由方块组成的。

有一天,欣队也给千千推荐了这款游戏,于是,两个人一起踏上了这条无法回头的冒险旅途。

开始的前几天,欣队帮我们两个人分别建造了自己的房子,为了防止千千迷路,特意将千千的房子建造在了欣队旁边。唔,可是为什么千千的房子比你的小呀,啊喂!QAQ 明明还有材料的说。

千千有一点小小的强迫症,所以特意叮嘱欣队在建造时遵守了以下原则:

  • 千千的房子要位于欣队更北的位置,因为那边有草地有湖泊啦
  • 千千的房子西侧要与欣队的对齐 QAQ
  • 两个房子要挨着,中间没有一点空隙

如下图所示,我们假定有一个坐标系(上北下南左西右东),千千的房子(蓝色)左下角位于坐标原点,欣队的房子(黄色)左上角位于坐标原点。

$w_1, h_1$ 与 $w_2, h_2$ 分别代表两间房子的宽度与高度。在图中,$w_1=2,h_1=4,w_2=4,h_2=3$,我们保证 $w_1 \le w_2$,QAQ 为什么要这样!

呼啦!打怪!升级!

咦,箱子里红色的 TNT 是啥,千千疑惑的说道。

哦,那是用来炸东西的,找个点火石就够了,欣队回答。

和苦力怕(一种怪物)一样的效果?那个绿绿的家伙,上次我差一点死在它手里?

对,就是这样。

唔,那我可以用它来炸苦力怕,哈哈,看看谁更厉害。

此时千千想起了上次苦力怕炸掉了自己的房子 QAQ,为了报仇,我要用 TNT 围在房子周围,等苦力怕接近的时候点燃它,这样就可以打倒苦力怕了。

于是,千千去房外摆了一圈的 TNT,如图中的绿色格子。

呀,远处来了一只苦力怕,快点点燃引线。滋滋滋,一阵声音传来了,是引线点燃的味道?这下这只苦力怕要倒霉了,哈哈。

啊啊啊!快离我的家远一点!刚刚打猎回来的欣队喊道。

轰……一阵烟笼罩了视野。

???我的家呢?

啊,又失算了,又被苦力怕炸掉了自己的家 QAQ,千千依然不懂发生了啥。

浪费了好多好多 TNT,怎么向欣队解释呢?

你能帮千千计算一下他浪费了多少 TNT 嘛!(题外音:玩”我的世界”别找千千,他只会拆家 QAQ)

输入:

输入一行有四个整数,分别代表 $w_1,h_1,w_2,h_2\ (1\le w_1,h_1,w_2,h_2 \le 10^8, w_1 \le w_2)$。

输出:

输出一个正整数,代表千千浪费的 TNT 数量。

示例输入:

1 2 2 2

示例输出:

16

提示:

参考答案(内存最优[1120]):

#include<cstdio>
using namespace std;
int ans,w1,h1,w2,h2;
int main()
{
    scanf("%d%d%d%d",&w1,&h1,&w2,&h2);
    ans=w1+2+w2+2+2+w2-w1;
    ans+=2*(h1+h2-1);
    printf("%d",ans);
}

参考答案(时间最优[1]):

#include<stdio.h>
int main()
{
    long long int w1,h1,w2,h2,sum=0,max;
    scanf("%lld %lld %lld %lld",&w1,&h1,&w2,&h2);
    if(w1>w2)
        max=w1;
    else
        max=w2;
    sum=(max+2)*2+(h1+h2)*2;
    printf("%lld\n",sum);
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。