你现在原点\((0,0)\)你可以向四个方向走\(n(n\le1e3)\)步,但是前提是你你必须和上次走的方向夹角为\(90\)度
设\(p=\frac{n}{2}\)
若在一个方向走\(p\)步
那么可以到达的点为\(-p,-p+2,-p+4,...0...,p-4,p-2,p\)
总共\(p+1\)个点
#include<bits/stdc++.h>
#define fi first
#define se second
#define debug cout<<"I AM HERE"<<endl;
using namespace std;
typedef long long ll;
const int maxn=1e5+5,inf=0x3f3f3f3f,mod=1e9+7;
const double eps=1e-6;
typedef pair<int,int> pii;
const ll INF=0x3f3f3f3f3f3f3f3f;
int n,ans;
signed main(){
cin>>n;
int p=n/2;
if(n%2==0){
ans=(p+1)*(p+1);
}else{
ans=2*(p+1)*(p+2);
}
printf("%d\n",ans);
return 0;
}
原文:https://www.cnblogs.com/hunxuewangzi/p/14679631.html