import java.util.*;
public class Main{
static Scanner sc=new Scanner(System.in);
static int t,n;
public static void main(String []args) {
n=sc.nextInt();
if(n%2==1){
/*n=2k+1奇数时,从水平一步开始,总共有k+1水平步骤和k垂直步骤,所以组合个数为(k+1)*(k+2)
* 垂直类似。所以一共有2*(k+1)*(k+2)*/
int k=n/2;
long ans=2*(k+1)*(k+2);
System.out.println(ans);
}else{
/*n=2k为偶数时,每次选择水平方向,共有k步骤,有k+1个可能性使得最后站在水平位置上。
* k步左,0步右,x=-k;k-1步左,1步右,x=-k+2;...0步左,k步右,x=k;横坐标共k+1个可能性
*同理,每次选择垂直方向也有k+1个可能性。所以横坐标与纵坐标组合起来就有(k+1)*(k+1) */
int k=n/2+1;
System.out.println(k*k);
}
}
}
codeforces 149B-Move and Turn
最新推荐文章于 2022-03-17 15:20:51 发布