PLANINA

[COCI2009-2010#4] PLANINA

题目背景

Mirko 和 Slavko 正在拍摄一部改编自科幻小说 Chicks in space 13 的电影。剧本要求他们呈现出不同的世界,所以他们决定在绿屏幕前拍摄整部电影,之后再添加 CGI 背景。Mirko 听说生成人工地形最好的办法是使用中点位移算法

题目描述

为了执行这个算法,Mirko 选择了 4 4 4 个点组成了一个完美正方形。然后他开始执行以下步骤:

  • 在每个正方形的每一条边上,Mirko 都在正中间添加一个新点。这个新点上的地形高度是他所在这条边两个点上的平均高度。
  • 在每个正方形的正中间,Mirko 也添加了一个新点。这个新点上的地形高度是所有 4 4 4 个正方形定点的平均高度加上一个小的随机值。

Mirko 在执行完一次上面的所有操作后拥有了 4 4 4 个新的方块。于是他不断地新建正方形,直到他对结果满意为止。下图说明了算法的初始状态、 1 1 1 次迭代和 2 2 2 次迭代。

Mirko 发现到有些点属于不止一个正方形,为了减少内存消耗,他只存储这些点一次,但是一旦这个点存储进去了,它就会永远储存在内存中。现在他想请你编写一个程序,告诉他经过 n n n 次迭代之后,总共需要在内存中存储多少点。

输入格式

输入仅一个整数 n n n,表示迭代的次数。

输出格式

输出仅一个整数,表示 n n n 次迭代后内存内需要存储的点数。

样例 #1

样例输入 #1

1

样例输出 #1

9

样例 #2

样例输入 #2

2

样例输出 #2

25

样例 #3

样例输入 #3

5

样例输出 #3

1089

提示说明

在这里插入图片描述

【数据范围】

对于所有数据, 1 ⩽ n ⩽ 15 1\leqslant n\leqslant 15 1n15

【题目来源】

本题来源自 COCI 2009-2010 CONTEST 4 T2 PLANINA,按照原题数据配置,满分 50 50 50 分。

Eason_AC 翻译整理提供。

// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
    ll n;
    cin>>n;
    n=pow(2,n)+1;
    cout<<n*n<<endl;
    return 0;
}
  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretty Boy Fox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值