题解:P15050 [UOI 2023 II Stage] Pixel snail
~~没错我又来水题解了。
这句话好像已经成为我的题解的开头了……~~
思路
题目人还怪好的,足足给了
第一步
首先看标注
观察可得:大方块的边长是
所以第一步使用了
注意要特判
第二步 & 第三步
把第二步的唯一一个小方格向右平移一格,可以和其他的一些
一共
最后的小尾巴
观察图片,最后还有一个长度为
最后提醒一句
十年 OI 一场空;
不开 long long 见祖宗。
代码
注:第一步 if。想写的话可以自己试试。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll k; cin >> k;
ll a1 = k*k - max(k-2,0ll)*max(k-2,0ll);
ll a2 = (k+2) * 3;
ll a3 = k;
ll ans = a1 + a2 + a3;
cout << ans;
}